Subject: bug#55312: 29.0.50; Cannot set vscroll when mini-window is resized

From: Eli Zaretskii <[email-masked]>
Date: Sun, 08 May 2022 16:40:59 +0300

> Date: Sun, 08 May 2022 19:53:10 +0800
> From:  Po Lu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> It seems that this code in redisplay_window always clears out the
> vscroll when the mini-window is taller than a single line of text:

Not when it's taller, but when it has been resized.

> This can easily be reproduced by typing "M-x C-q C-j" and trying to use
> `pixel-scroll-precision' with the mouse pointer on top of a window that
> is not the `minibuf-scroll-window': the vscroll will not take effect,
> since force_start will be set to true, and that resets the vscroll.
> 
> I think this "frozen" behavior is required to ensure that the start of
> windows do not aimlessly move when the mini-window is being resized, but
> it interferes with features that need to set the vscroll.
> 
> Any ideas?

If you want to allow vscroll in these cases, you'd need to either add
code which ensures the window-start of "frozen" windows is not moved
by means other than the force_start flag, or modify the code where we
handle the force_start flag so that it doesn't reset vscroll when
pixel-scroll uses it, as opposed to when vscroll is used by "normal"
scrolling commands for the purposes of scrolling tall screen lines.