Subject: bug#16526: 24.3.50; scroll-conservatively & c-mode regression

From: martin rudalics <[email-masked]>
Date: Sat, 25 Jan 2014 17:48:02 +0100

>> How should I know?  I suppose redisplay_window eventually winds up
 >> calling the fontification function and sooner or later the c-code calls
 >> back_comment.
 >
 > Yes, that's what happens.  And it cannot be avoided, AFAICS, when
 > scroll-conservatively is on.

Well ... so you know why it calls back_comment around the END of the
buffer?

 > What I see is that find_defun_start is called many times,

... 530 times as I mentioned earlier ...

 > with its
 > first argument moving from _end_ of the buffer backwards.

Not monotonously.  Sometimes it's called from the same position (for
example 948653 is at least three times on my list) again.

 > This
 > happens when Emacs needs to redisplay the last portion of the buffer,
 > immediately after the call to end-of-buffer.

Hmm ... but the problem is when going to BOB.

 > JIT Lock is triggered also when font-lock is turned on after the move
 > to end of the buffer.  But the difference seems to come from the fact
 > that under scroll-conservatively, we examine the buffer a little bit
 > above/below the window, when we decide where to put window-start.

And somehow a "current position" is still near the end of the buffer at
that time.

martin