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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 08 Aug 2013 20:46:29 +0300

> Date: Thu, 8 Aug 2013 13:07:01 -0400
> From: Barry OReilly <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> Eli:
> > Can you identify the area in this trace where the unwarranted scroll
> > was visible?
> 
> Barry:
> > but redisplay didn't need to scroll
> 
> Undesired scrolling is a downstream symptom. Upstream from it is point
> visibly moving around inappropriately.

I think you are wrong.  Emacs moves point in its Lisp code all over
the place, and that never causes any unwarranted scrolling, nor should
it ever display point in anything but the final position -- unless the
Lisp code itself forces redisplay.

But even if you are right, knowing which parts of the display engine
are involved in this will allow us to put breakpoints in a few
strategic places, and produce backtraces, both in C and in Lisp, which
will show which Lisp code triggers the problem.  This is IMO better
than trying to guess which Lisp primitives are involved in point
movement, because you are likely to guess wrong.  By contrast,
redisplay is certainly involved, so using it will most probably show
us the light much sooner and easier.