bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#15567: Point jumps around madly in XML file when undoing while auto-


From: Barry OReilly
Subject: bug#15567: Point jumps around madly in XML file when undoing while auto-revert-mode updates buffer
Date: Tue, 8 Oct 2013 19:07:57 -0400

I had an XML file open, specifically the XML output file of a Valgrind
run. I ran Valgrind again which caused the XML file to become empty
and populate with new content. Since I wanted to view the old output,
I did undo in Emacs. I navigated to where I wanted to go, but then
shortly point jumps to a wrong part of the buffer. If I wait, it jumps
back and forth every second or two between where I wanted to be and
elsewhere in the buffer. I ended up killing the buffer and revisiting
the file to get back to something usable.

I have been running Emacs with debug statements to walk the specpdl
stack during redisplay and look for save_excursion_restore markers
that mismatch current marker at redisplay. See
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15045#29 for why and the
debugging patch. I was spammed with this output:

2013-10-08T18:24:21.068155000|pid:21060|tid:47198260320512|dispnew.c|5807| DEBUG: Found save_excursion_restore with mismatched point markers
  redisplay()
  sit-for(0)
  rng-validate-while-idle-continue-p()
  rng-do-some-validation-1(rng-validate-while-idle-continue-p)
ÊˎÌ!.e("Æ …‡" [rng-dt-namespace-context-getter modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark rng-validate-prepare (nxml-ns-get-context) buffer-modified-p t nil ((byte-code ÁÂ!ˆÂ‡" [modified restore-buffer-modified-p nil] 2)) rng-do-some-validation-1 buffer-file-name buffer-file-truename continue-p-function] 3)
  rng-do-some-validation(rng-validate-while-idle-continue-p)
  rng-validate-while-idle(#<buffer REDACTED_UnitTests_valgrind.xml>)
  apply(rng-validate-while-idle #<buffer REDACTED_UnitTests_valgrind.xml>)
  byte-code("rÂÃH\"ˆ)Á‡" [timer apply 5 6] 4)
  timer-event-handler([t 0 1 500000 t rng-validate-while-idle (#<buffer REDACTED_UnitTests_valgrind.xml>) idle 0])
  input-pending-p()
  rng-validate-while-idle-continue-p()
  rng-do-some-validation-1(rng-validate-while-idle-continue-p)
ÊˎÌ!.e("Æ …‡" [rng-dt-namespace-context-getter modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark rng-validate-prepare (nxml-ns-get-context) buffer-modified-p t nil ((byte-code ÁÂ!ˆÂ‡" [modified restore-buffer-modified-p nil] 2)) rng-do-some-validation-1 buffer-file-name buffer-file-truename continue-p-function] 3)
  rng-do-some-validation(rng-validate-while-idle-continue-p)
  rng-validate-while-idle(#<buffer REDACTED_UnitTests_valgrind.xml>)
  apply(rng-validate-while-idle #<buffer REDACTED_UnitTests_valgrind.xml>)
  byte-code("rÂÃH\"ˆ)Á‡" [timer apply 5 6] 4)
  timer-event-handler([t 0 1 500000 t rng-validate-while-idle (#<buffer REDACTED_UnitTests_valgrind.xml>) idle 0])
#<marker at 591026 in REDACTED_UnitTests_valgrind.xml>#<marker at 152113 in REDACTED_UnitTests_valgrind.xml>

Normally this debug statement is silent. It indicates redisplay
occurred when point was on an excursion.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]