Subject: bug#7910: 23.2; inconsistent scrolling

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 08 Dec 2020 16:46:20 +0100

Oleksandr Manzyuk <[email-masked]> writes:

> 1. M-x eval-expression RET (setq scroll-preserve-screen-position t) RET
>
> 2. Open a long file that takes up more than one screen.
>
> 3. Make sure that the beginning of the file is at the top of the screen
> and go to a line near the bottom of the screen.
>
> 4. Press C-l to bring that line to the center of the screen.
>
> 5. Press M-v and then C-v.
>
> The expected behavior is that point goes back to the line where it
> started.  It is not so, however.  When M-v is pressed, the window is
> scrolled so that the beginning of the file is at the top of the screen
> and point is placed in the center-most line.

(This bug report unfortunately got no response at the time.)

I'm not quite sure I follow the recipe here, but if I understand you
correctly, then a simpler recipe is simply:

emacs -Q src/alloc.c
M-: (setq scroll-preserve-screen-position t) RET

Then move point down to the next-to-last line

Then hit `C-v':

Point is moved to the first visible line in the window instead of
remaining at the next-to-last line.

If you do this anywhere else in the buffer (except the last two lines
(and the first two lines)), the visual point is kept the same place.

I don't use this setting myself, so I'm wondering -- is this intended
behaviour (i.e., sorta not using the setting on the two first/last
lines), or is this a bug?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no