Subject: bug#16840: 24.3.50; Jerky motion and up/down asymmetry scrolling images in Eww

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 26 Sep 2019 18:58:02 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: [email-masked] (N. Jackson)
>> Cc: Lars Ingebrigtsen <[email-masked]>,  [email-masked]
>> Date: Fri, 25 Dec 2015 15:01:21 -0400
>> 
>> The `C-n's in Step 7 scroll the image as one would expect. At the
>> second last of those `C-n's, the heading "Secure Boot vs Restricted
>> Boot" scrolls off the top of the window. At the next `C-n' the blank
>> line below the image is at the top of the window.
>> 
>> At the next `C-n' (Step 8) which I understand is supposed to move
>> point to the line below the image [Although it would be awesome if it
>> could continue scrolling the image one "line" at a time.], the
>> scrolling "glitches" and point moves _up_ again to the blank line
>> above the image.
>
> That's an entirely different problem: Emacs doesn't find a good place
> to start the window, so it recenters the window.  I will look into it
> when I have time.

If you need an easier example to test image scrolling with, here's a
sexp.  :-)

I just find large-image scrolling in Emacs to be kinda
... unpredictable?  But it does work.  But perhaps it would be nicer if
it was somehow less surprising.

(progn
  (switch-to-buffer "*image*")
  (erase-buffer)
  (set-frame-height (window-frame (selected-window)) 1000 nil t)
  (let* ((width 300)
	 (height 800)
	 (svg (svg-create width height)))
    (svg-gradient svg "background" 'linear '((0 . "#b0b0b0") (100 . "#808080")))
    (svg-rectangle svg 0 0 width height :gradient "background"
                   :stroke-width 2 :stroke-color "black")
    (dotimes (i 30)
      (insert (format "%d\n" i)))
    (svg-insert-image svg)
    (insert "\n")
    (dotimes (i 30)
      (insert (format "%d\n" i)))
    (goto-char (point-min))))

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