Subject: 27.0.50; recenter doesn't redisplay

From: Juri Linkov <[email-masked]>
Date: Tue, 25 Sep 2018 22:11:59 +0300

As noted in bug#32672, maybe this is a regression, possibly caused by bug#31325

0. emacs -Q

1. Eval:

(setq recenter-redisplay t)

(add-to-list 'window-scroll-functions
             (lambda (window display-start)
               (message "window-scroll-functions %S %S %S"
                        window (window-buffer window) display-start)))

2. Open *Messages* in adjacent window with 'C-h e'

3. Put point in *scratch* preferably not on the first line

4. Type 'C-l' (recenter-top-bottom) with different arguments, e.g.
   C-0 C-l
   C-1 C-l
   C-2 C-l
   etc.

The *Messages* buffer is not refreshed to show new logged messages
from the calls of the window-scroll-functions.

This means that C-l (recenter-top-bottom) doesn't redisplay the frame -
which is strange since it calls 'recenter' with non-nil arg REDISPLAY.
Only after switching to the *Messages* buffer with 'C-x o' it gets
redisplayed and all previously emitted messages appear in it.

5. Typein *scratch* again: C-l C-l C-l
   only when C-l puts point to the center of the window,
   the *Messages* buffer gets redisplayed (but then for some reason
   window-scroll-functions is not called in this case).