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(#) apply(rng-validate-while-idle #) byte-code("rÂÃH\"ˆ)Á‡" [timer apply 5 6] 4) timer-event-handler([t 0 1 500000 t rng-validate-while-idle (#) 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(#) apply(rng-validate-while-idle #) byte-code("rÂÃH\"ˆ)Á‡" [timer apply 5 6] 4) timer-event-handler([t 0 1 500000 t rng-validate-while-idle (#) idle 0]) ## Normally this debug statement is silent. It indicates redisplay occurred when point was on an excursion.