[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#69972: 29.1; Unexpected behavior when scrolling images
From: |
Eli Zaretskii |
Subject: |
bug#69972: 29.1; Unexpected behavior when scrolling images |
Date: |
Thu, 28 Mar 2024 08:24:20 +0200 |
> From: Joseph Turner <joseph@ushin.org>
> Cc: 69972@debbugs.gnu.org
> Date: Mon, 25 Mar 2024 12:43:39 -0700
>
> >> With all three methods, at first Emacs gradually scrolls the image, but
> >> then when I reach the bottom of the image, the image disappears entirely
> >> as Emacs scrolls past it all at once.
> >
> > Why is that a problem? The default Emacs scrolling commands don't
> > guarantee smooth constant-rate scrolling, they guarantee only that you
> > get to see all the portions of the image, without missing any. So
> > when you get to the end of the image, there's a heuristic that decides
> > whether we can scroll past the image, and that is what you see.
> >
> > I see no bug here.
>
> With pixel-scroll-precision-mode enabled and at least one character after
> the image, I am able to smoothly scroll around the image.
pixel-scroll-precision-mode indeed attempts to make the scrolling much
more smooth than the default scrolling in these cases.
> However, if the window is scrolled to the right, then it is impossible
> to scroll down:
>
> (with-current-buffer (get-buffer-create "*test-scroll-image*")
> (erase-buffer)
> (insert-image (create-image "splash.png" nil nil :scale 10))
> (insert-char 8203)
> (goto-char (point-min))
> (pixel-scroll-precision-mode 1)
> (pop-to-buffer (current-buffer))
> (set-window-hscroll (get-buffer-window) 1)) ;; Image scrolled to right
>
> In this buffer, if I attempt to scroll down with the mouse wheel, I
> immediately get "End of buffer" error and the image does not move.
Then maybe Po Lu (CC'ed) could look into this and see if
pixel-scroll-precision-mode could do better in this case.