Subject: bug#19464: 24.4; Customizing either scroll-step or scroll-conservatively makes Emacs hang up when calling set-window-vscroll with large values

From: Vasilij Schneidermann <[email-masked]>
Date: Mon, 31 May 2021 18:41:04 +0200

Yes, I do. My reproducer relies on having a file spanning more than a
screenful open.

- Run `emacs -Q`
- Paste the following code block into the scratch buffer
- Evaluate with `M-x buffer`

(find-library "subr")
(setq scroll-conservatively 10000)
(set-window-vscroll nil 9000 t)

On Fri, May 28, 2021 at 3:43 AM Lars Ingebrigtsen <[email-masked]> wrote:
>
> Vasilij Schneidermann <[email-masked]> writes:
>
> > I've been experimenting around to make Emacs scroll with pixel-level
> > precision and have soon discovered `set-window-vscroll' which allows one
> > to adjust the vertical scrolling of a window in pixel steps with its
> > fourth argument.  In an attempt to scroll further than a screenful, I
> > executed (set-window-vscroll nil 9000 t) which hung up Emacs.  Bisection
> > of my init file revealed that this issue doesn't happen with an
> > uncustomized Emacs and that it's sufficient to either customize
> > `scroll-step' to have a value of 1 or `scroll-conservatively' to have a
> > large value (which is a common hack to allow line-level scrolling).
>
> (I'm going through old bug reports that unfortunately got no response at
> the time.)
>
> I tried reproducing this with
>
> emacs -Q and:
>
> (progn
>   (setq scroll-step 1)
>   (set-window-vscroll nil 9000 t))
>
> But I didn't get any hangs.  Are you still seeing this problem in more
> recent Emacs versions?
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no