unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
@ 2017-09-04  0:22 James Nguyen
  2017-09-05 20:14 ` Charles A. Roelli
  0 siblings, 1 reply; 10+ messages in thread
From: James Nguyen @ 2017-09-04  0:22 UTC (permalink / raw)
  To: 28342


Recipe:

emacs -Q

(setq scroll-margin 5
      scroll-step 1
      scroll-conservatively 10000
      scroll-preserve-screen-position 1
	  mouse-wheel-scroll-amount '(1)
	  mouse-wheel-progressive-speed nil
	  mouse-wheel-follow-mouse 't)

Open another buffer (init.el for example). Use only one window.
Scroll with trackpad up and down.
Use trackpad mouse to click past the scroll margin.
Try scrolling up and down with trackpad. It will jump wildly.

Video:
https://www.dropbox.com/s/2jwb3p2sul9q36d/JumpyScrolling.m4v?dl=0

Notes: Only seems to happen when there's one window. I could not
reproduce it if I opened a second window (as shown in the video.)

Happens on both Emacs 25 and Emacs 26 (master branch).





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-04  0:22 bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad James Nguyen
@ 2017-09-05 20:14 ` Charles A. Roelli
  2017-09-06  1:14   ` James Nguyen
  0 siblings, 1 reply; 10+ messages in thread
From: Charles A. Roelli @ 2017-09-05 20:14 UTC (permalink / raw)
  To: James Nguyen; +Cc: 28342

> Resent-From: James Nguyen <james@jojojames.com>
> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
> Resent-CC: bug-gnu-emacs@gnu.org
> Resent-Sender: help-debbugs@gnu.org
> From: James Nguyen <james@jojojames.com>
> Date: Sun, 03 Sep 2017 17:22:29 -0700
> Content-Type: text/plain
> 
> 
> Recipe:
> 
> emacs -Q
> 
> (setq scroll-margin 5
>       scroll-step 1
>       scroll-conservatively 10000
>       scroll-preserve-screen-position 1
> 	  mouse-wheel-scroll-amount '(1)
> 	  mouse-wheel-progressive-speed nil
> 	  mouse-wheel-follow-mouse 't)
> 
> Open another buffer (init.el for example). Use only one window.
> Scroll with trackpad up and down.
> Use trackpad mouse to click past the scroll margin.
> Try scrolling up and down with trackpad. It will jump wildly.

What jumps wildly?  Does removing any of these settings stop the issue
from occurring?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-05 20:14 ` Charles A. Roelli
@ 2017-09-06  1:14   ` James Nguyen
  2017-09-06  8:53     ` Alan Third
  0 siblings, 1 reply; 10+ messages in thread
From: James Nguyen @ 2017-09-06  1:14 UTC (permalink / raw)
  To: Charles A. Roelli; +Cc: 28342, James Nguyen

The cursor jumps from within the scroll-margins to end of file and back and forth.

Some of those settings can probably be removed but scroll-margin is probably important.

> On Sep 5, 2017, at 1:14 PM, Charles A. Roelli <charles@aurox.ch> wrote:
> 
>> Resent-From: James Nguyen <james@jojojames.com>
>> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
>> Resent-CC: bug-gnu-emacs@gnu.org
>> Resent-Sender: help-debbugs@gnu.org
>> From: James Nguyen <james@jojojames.com>
>> Date: Sun, 03 Sep 2017 17:22:29 -0700
>> Content-Type: text/plain
>> 
>> 
>> Recipe:
>> 
>> emacs -Q
>> 
>> (setq scroll-margin 5
>>      scroll-step 1
>>      scroll-conservatively 10000
>>      scroll-preserve-screen-position 1
>> 	  mouse-wheel-scroll-amount '(1)
>> 	  mouse-wheel-progressive-speed nil
>> 	  mouse-wheel-follow-mouse 't)
>> 
>> Open another buffer (init.el for example). Use only one window.
>> Scroll with trackpad up and down.
>> Use trackpad mouse to click past the scroll margin.
>> Try scrolling up and down with trackpad. It will jump wildly.
> 
> What jumps wildly?  Does removing any of these settings stop the issue
> from occurring?






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-06  1:14   ` James Nguyen
@ 2017-09-06  8:53     ` Alan Third
  2017-09-06 16:55       ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Third @ 2017-09-06  8:53 UTC (permalink / raw)
  To: James Nguyen; +Cc: 28342, Charles A. Roelli, James Nguyen

[-- Attachment #1: Type: text/plain, Size: 1601 bytes --]

I can replicate on ms windows using just:

(setq scroll-margin 5)
(setq scroll-preserve-screen-position 1)
(setq mouse-wheel-scroll-amount '(1))

Open a large file. Make sure you're at the start of the file

M-<

Scroll down with the mouse wheel and within a few clicks point jumps to the
middle of the screen. A few more and it jumps to the end of the file.

On 6 Sep 2017 2:15 a.m., "James Nguyen" <jamesn@fastmail.com> wrote:

The cursor jumps from within the scroll-margins to end of file and back and
forth.

Some of those settings can probably be removed but scroll-margin is
probably important.

> On Sep 5, 2017, at 1:14 PM, Charles A. Roelli <charles@aurox.ch> wrote:
>
>> Resent-From: James Nguyen <james@jojojames.com>
>> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org
>
>> Resent-CC: bug-gnu-emacs@gnu.org
>> Resent-Sender: help-debbugs@gnu.org
>> From: James Nguyen <james@jojojames.com>
>> Date: Sun, 03 Sep 2017 17:22:29 -0700
>> Content-Type: text/plain
>>
>>
>> Recipe:
>>
>> emacs -Q
>>
>> (setq scroll-margin 5
>>      scroll-step 1
>>      scroll-conservatively 10000
>>      scroll-preserve-screen-position 1
>>        mouse-wheel-scroll-amount '(1)
>>        mouse-wheel-progressive-speed nil
>>        mouse-wheel-follow-mouse 't)
>>
>> Open another buffer (init.el for example). Use only one window.
>> Scroll with trackpad up and down.
>> Use trackpad mouse to click past the scroll margin.
>> Try scrolling up and down with trackpad. It will jump wildly.
>
> What jumps wildly?  Does removing any of these settings stop the issue
> from occurring?

[-- Attachment #2: Type: text/html, Size: 3378 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-06  8:53     ` Alan Third
@ 2017-09-06 16:55       ` Eli Zaretskii
  2017-09-07  1:58         ` Nick Helm
  2017-09-09 14:22         ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Eli Zaretskii @ 2017-09-06 16:55 UTC (permalink / raw)
  To: Alan Third; +Cc: 28342, jamesn, charles, james

> From: Alan Third <athird@googlemail.com>
> Date: Wed, 6 Sep 2017 09:53:54 +0100
> Cc: 28342@debbugs.gnu.org, "Charles A. Roelli" <charles@aurox.ch>,
> 	James Nguyen <james@jojojames.com>
> 
> I can replicate on ms windows using just:
> 
> (setq scroll-margin 5)
> (setq scroll-preserve-screen-position 1)
> (setq mouse-wheel-scroll-amount '(1))
> 
> Open a large file. Make sure you're at the start of the file
> 
> M-<
> 
> Scroll down with the mouse wheel and within a few clicks point jumps to the middle of the screen. A few more
> and it jumps to the end of the file.

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.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-06 16:55       ` Eli Zaretskii
@ 2017-09-07  1:58         ` Nick Helm
  2017-09-09 14:25           ` Eli Zaretskii
  2017-09-09 14:22         ` Eli Zaretskii
  1 sibling, 1 reply; 10+ messages in thread
From: Nick Helm @ 2017-09-07  1:58 UTC (permalink / raw)
  To: 28342

Eli Zaretskii <eliz@gnu.org> 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)))
 	{






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-06 16:55       ` Eli Zaretskii
  2017-09-07  1:58         ` Nick Helm
@ 2017-09-09 14:22         ` Eli Zaretskii
  2017-09-10  1:14           ` James Nguyen
  1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2017-09-09 14:22 UTC (permalink / raw)
  To: athird; +Cc: 28342, jamesn, charles, james

> Date: Wed, 06 Sep 2017 19:55:41 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 28342@debbugs.gnu.org, jamesn@fastmail.com, charles@aurox.ch,
> 	james@jojojames.com
> 
> > (setq scroll-margin 5)
> > (setq scroll-preserve-screen-position 1)
> > (setq mouse-wheel-scroll-amount '(1))
> > 
> > Open a large file. Make sure you're at the start of the file
> > 
> > M-<
> > 
> > Scroll down with the mouse wheel and within a few clicks point jumps to the middle of the screen. A few more
> > and it jumps to the end of the file.
> 
> 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.

Should be fixed now on the master branch.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-07  1:58         ` Nick Helm
@ 2017-09-09 14:25           ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2017-09-09 14:25 UTC (permalink / raw)
  To: Nick Helm; +Cc: 28342

> From: Nick Helm <nick@tenpoint.co.nz>
> Cc: Eli Zaretskii <eliz@gnu.org>
> Date: Thu, 07 Sep 2017 13:58:45 +1200
> 
> 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)))
>  	{

Thanks, but this change only fixes the problem when you start
scrolling with point on the first line in the window.  If point is on
2nd, 3rd, or 4th line (more generally, any line inside the
scroll-margin), the bug will still be there.

I installed on master a more general fix, which I hope solves this
problem.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-09 14:22         ` Eli Zaretskii
@ 2017-09-10  1:14           ` James Nguyen
  2017-09-10  2:40             ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: James Nguyen @ 2017-09-10  1:14 UTC (permalink / raw)
  To: Eli Zaretskii, athird; +Cc: 28342, , jamesn, charles

Eli Zaretskii <eliz@gnu.org> writes:

Working for me, will report back if it comes up again.

>> Date: Wed, 06 Sep 2017 19:55:41 +0300
>> From: Eli Zaretskii <eliz@gnu.org>
>> Cc: 28342@debbugs.gnu.org, jamesn@fastmail.com, charles@aurox.ch,
>> 	james@jojojames.com
>> 
>> > (setq scroll-margin 5)
>> > (setq scroll-preserve-screen-position 1)
>> > (setq mouse-wheel-scroll-amount '(1))
>> > 
>> > Open a large file. Make sure you're at the start of the file
>> > 
>> > M-<
>> > 
>> > Scroll down with the mouse wheel and within a few clicks point jumps to the middle of the screen. A few more
>> > and it jumps to the end of the file.
>> 
>> 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.
>
> Should be fixed now on the master branch.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad
  2017-09-10  1:14           ` James Nguyen
@ 2017-09-10  2:40             ` Eli Zaretskii
  0 siblings, 0 replies; 10+ messages in thread
From: Eli Zaretskii @ 2017-09-10  2:40 UTC (permalink / raw)
  To: James Nguyen; +Cc: athird, 28342-done, jamesn, charles

> From: James Nguyen <james@jojojames.com>
> Cc: 28342@debbugs.gnu.org, jamesn@fastmail.com, charles@aurox.ch
> Date: Sat, 09 Sep 2017 18:14:56 -0700
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> Working for me, will report back if it comes up again.

Thanks, closing.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-09-10  2:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-04  0:22 bug#28342: 26.0.50; (OSX) Jumpy Scrolling using Trackpad James Nguyen
2017-09-05 20:14 ` Charles A. Roelli
2017-09-06  1:14   ` James Nguyen
2017-09-06  8:53     ` Alan Third
2017-09-06 16:55       ` Eli Zaretskii
2017-09-07  1:58         ` Nick Helm
2017-09-09 14:25           ` Eli Zaretskii
2017-09-09 14:22         ` Eli Zaretskii
2017-09-10  1:14           ` James Nguyen
2017-09-10  2:40             ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).