Subject: bug#15045: Point jumps inappropriately around time of Semantic lexing

From: Stefan Monnier <[email-masked]>
Date: Wed, 07 Aug 2013 17:23:12 -0400

>> So it's "displayed at A" then "displayed at B" then "displayed at A
>> again"? what happens between each one of those 3 displays?
> No. A, B, and C are backtraces.

A, B, and C are local variables whose meaning depends on the email in
which they're used.  Yours have nothing to do with mine.  Sorry I reused
the same identifiers in the same thread.

> 2013-08-07T15:18:09.576922000|pid:11494|tid:47776720943360|dispnew.c|5822|
> DEBUG: redisplay
>   redisplay()
>   sit-for(0)
>   jit-lock-deferred-fontify()
>   apply(jit-lock-deferred-fontify nil)
>   byte-code("rÁÂHÃH\"ˆ)Á‡" [timer apply 5 6] 4)
>   timer-event-handler([t 0 0 10000 t jit-lock-deferred-fontify nil idle 0])

Running timers is pretty much the same as running redisplay: both are
things that can happen either between commands or in things like
`sit-for', so no, jit-lock is unlikely to be the culprit.

Maybe a way to check that is:

in Fredisplay, walk the specpdl stack looking for
a save_excursion_restore where the saved position is different from the
current value of point in that buffer.

        Stefan