Subject: Re: bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad

From: Nick Helm <[email-masked]>
Date: Thu, 07 Sep 2017 13:58:45 +1200

Eli Zaretskii <[email-masked]> writes:

> Even simpler: after evaluating the first 2 of the above 3 settings,
> visit xdisp.c, then type this twice:
>
>   C-u 1 C-v
>
> After you type this the second time, Emacs will infloop.
>
> This bug is already present in Emacs 25.1.
>
> I will look into this when I have time.  Thanks for the recipe.

I see this here as well.

The problem might lie in window_scroll_pixel_based in window.c. A small
tweak seems to help:

--- src/window.c	2017-09-07 13:16:29.000000000 +1200
+++ src/window.c	2017-09-07 13:10:04.000000000 +1200
@@ -4835,7 +4835,7 @@
 	 have the `scroll-command' property.  This avoids the
 	 possibility of point becoming "stuck" on a tall line when
 	 scrolling by one line.  */
-      if (window_scroll_pixel_based_preserve_y < 0
+      if (window_scroll_pixel_based_preserve_y <= 0
 	  || !SYMBOLP (KVAR (current_kboard, Vlast_command))
 	  || NILP (Fget (KVAR (current_kboard, Vlast_command), Qscroll_command)))
 	{