bug#34312: scroll-error-top-bottom and scroll-preserve-screen-position do not work correctly together

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#34312: scroll-error-top-bottom and scroll-preserve-screen-position do not work correctly together

Jarosław Rzeszótko-2
I run Emacs 26.1 with a config of just:

(setq scroll-error-top-bottom t)
(setq scroll-preserve-screen-position 'always)

I open a long file, hit PageDown, then the Down key a few times. Point is at some position X now. I come back to the beginning of buffer by hitting PageUp twice. The point is now in the top left corner of the window. Here comes the bug: I hit PageDown and point is moved to position X, rather than to the top left corner of the portion of the buffer that was just made visible by the scrolling. The scrolling itself seems to work OK.

Cheers,
Jarosław Rzeszótko
Reply | Threaded
Open this post in threaded view
|

bug#34312: scroll-error-top-bottom and scroll-preserve-screen-position do not work correctly together

Eli Zaretskii
> From: Jarosław Rzeszótko
> <[hidden email]>
> Date: Mon, 4 Feb 2019 15:54:58 +0100
>
> (setq scroll-error-top-bottom t)
> (setq scroll-preserve-screen-position 'always)
>
> I open a long file, hit PageDown, then the Down key a few times. Point is at some position X now. I come back
> to the beginning of buffer by hitting PageUp twice. The point is now in the top left corner of the window. Here
> comes the bug: I hit PageDown and point is moved to position X, rather than to the top left corner of the
> portion of the buffer that was just made visible by the scrolling.

Maybe I'm missing something, but this is the behavior I'd expect, I
wouldn't consider it a bug.  Emacs moved point to the top of the
buffer only because there was an error.  Once the error is gone, it
goes back to the remembered screen position.

Does anyone else think this is a bug?

Thanks.



Reply | Threaded
Open this post in threaded view
|

bug#34312: scroll-error-top-bottom and scroll-preserve-screen-position do not work correctly together

Jarosław Rzeszótko-2
On Mon, Feb 4, 2019 at 5:21 PM Eli Zaretskii <[hidden email]> wrote:
> From: Jarosław Rzeszótko
>       <[hidden email]>
> Date: Mon, 4 Feb 2019 15:54:58 +0100
>
> (setq scroll-error-top-bottom t)
> (setq scroll-preserve-screen-position 'always)
>
> I open a long file, hit PageDown, then the Down key a few times. Point is at some position X now. I come back
> to the beginning of buffer by hitting PageUp twice. The point is now in the top left corner of the window. Here
> comes the bug: I hit PageDown and point is moved to position X, rather than to the top left corner of the
> portion of the buffer that was just made visible by the scrolling.

Maybe I'm missing something, but this is the behavior I'd expect, I
wouldn't consider it a bug.  Emacs moved point to the top of the
buffer only because there was an error.  Once the error is gone, it
goes back to the remembered screen position.

Does anyone else think this is a bug?

Thanks.

I would expect PageDown behavior to be dependent only on what portion of the buffer is visible on the screen and on where the point is, here it appears it is additionally dependent on the history of how the point got where it is, or in effect on some internal state of the Emacs C runtime, that is probably not even in any way accessible to the user.

Also, the documentation for scroll-error-top-bottom says it causes the point to be moved *instead of* signaling an error, so it is hard to understand why any screen position should be remembered or why the error should be then "gone" when you move the point again.

Cheers,
Jarosław Rzeszótko