Subject: Re: bug#22404: 25.1.50; Forcing `window-scroll-functions` to run.

From: Keith David Bershatsky <[email-masked]>
Date: Thu, 11 Feb 2016 16:14:44 -0800

Question, please:  Is it a necessary evil that the `timer-idle-list` must always trigger a redisplay?

I discovered today that the mere presence of anything attached to the `timer-idle-list` triggers a redisplay when the clock strikes midnight -- e.g., the following example triggers a redisplay after 10 seconds of inactivity:

    (run-with-idle-timer 10 'repeat 'ignore)

I am working on tracking down the issue of why redisplay doesn't realize that my cursor is below the bottom of the window or partially visible following certain large yanks or custom paragraph-down functions.  `font-lock-mode` was affecting my testing because I had 0.5 second idle timer for `jit-lock-context-fontify`.  For example, my point stayed out of view until the 0.5 second buzzer went off, at which time it magically came back into view.  The same thing will happen if I just have `'ignore` on an idle timer.

I do not yet have enough information to submit a meaningful bug report regarding the cursor staying below the bottom of the screen, but I feel I'm making some progress now that I tracked down the magical appearance of my cursor due to the `timer-idle-list`.

Thanks,

Keith

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

At Tue, 09 Feb 2016 19:48:56 +0200,
Eli Zaretskii wrote:
> 
> > Date:  Tue, 09 Feb 2016 08:00:33 -0800
> > From:  Keith David Bershatsky <[email-masked]>
> > Cc:  [email-masked]
> > 
> > The issue mentioned in my last email was caused by `font-lock-mode` -- when I turn off `font-lock-mode`, there are a few situations where point remains partially visible at the bottom of the window and redisplay does not catch it -- e.g., when the line that point is on is about 90 percent visible at the bottom of the window.
> 
> Did you define faces that change more than just the colors, like use a
> different font or bold/italic typefaces?  If so, what you see might
> not be a bug: the original display is before JIT font-lock kicks in
> and changes the dimensions of the characters on display, so they are
> partially visible only after fontifications did their job.