Subject: Re: bug#69972: 29.1; Unexpected behavior when scrolling images

From: Eli Zaretskii <[email-masked]>
Date: Mon, 25 Mar 2024 14:23:28 +0200

> From: Joseph Turner <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 24 Mar 2024 18:06:44 -0700
> 
> (with-current-buffer (get-buffer-create "*test-scroll-image*")
>   (erase-buffer)
>   (insert-image (create-image "splash.png" nil nil
>     ;; Scale the image more if it doesn't take up the whole window.
>     :scale 5))
>   (goto-char (point-max))
>   (pixel-scroll-precision-mode -1)  ; Ensure mouse wheel scroll up and down works
>   (pop-to-buffer (current-buffer)))
> 
> 1. "M-: (scroll-up) RET" (repeatedly)
> 2. C-v (repeatedly)
> 3. <wheel-down> (repeatedly)
> 
> 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.