Subject: bug#35246: 26.2; Mouse wheel scrolling in GTK build sometimes scrolls the entire buffer

From: Alex Gramiak <[email-masked]>
Date: Mon, 15 Apr 2019 10:18:24 -0600

Eli Zaretskii <[email-masked]> writes:

>> From: Alex Gramiak <[email-masked]>
>> Date: Fri, 12 Apr 2019 11:23:27 -0600
>> 
>> Occasionally, after first moving the mouse over the frame after it was
>> iconified or unused for "a while", scrolling down in a buffer scrolls
>> the entire buffer regardless of buffer length. During this scrolling,
>> the GUI cursor changes to a busy (hourglass) cursor.
>> 
>> I unfortunately can not reproduce this issue reliably, which is why I
>> held off on reporting this until now. I can cancel the scrolling when
>> the cursor is an hourglass cursor, at which point the buffer is
>> partially scrolled. I recall that debug-on-quit did not help here.
>
> What does "C-h l" show after that?

A couple days ago I had a similar event happen (busy cursor pops up, and
a few seconds later normal mouse scrolling occurred). C-h l in that
window:

  <help-echo> <down-mouse-5> <mouse-5> [mwheel-scroll]
  <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
  <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
  <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
  <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
  <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
  <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
  <down-mouse-4> <mouse-4> [mwheel-scroll]
  <double-down-mouse-4> <double-mouse-4> [mwheel-scroll]
  <help-echo> <down-mouse-5> <mouse-5> [mwheel-scroll]
  <down-mouse-5> <mouse-5> [mwheel-scroll]
  C-h l [view-lossage]

Just now I had a different event happen -- this time no busy cursor
appeared, but the buffer still scrolled a few thousand lines instantly.
The selected window was not the window where the scrolling took place.

I did C-h l in the selected window and got:

   <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <help-echo> <help-echo> <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-4> <mouse-4> [mwheel-scroll]
   <double-down-mouse-4> <double-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-4> <mouse-4> [mwheel-scroll]
   <double-down-mouse-4> <double-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <down-mouse-4> <mouse-4> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <down-mouse-4> <mouse-4> [mwheel-scroll]
   <double-down-mouse-4> <double-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-4> <mouse-4> [mwheel-scroll]
   <double-down-mouse-4> <double-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <triple-down-mouse-4> <triple-mouse-4> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <help-echo> <help-echo> <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <triple-down-mouse-5> <triple-mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <down-mouse-5> <mouse-5> [mwheel-scroll]
   <double-down-mouse-5> <double-mouse-5> [mwheel-scroll]
   C-h l [view-lossage]

Is it possibly the commands with a help-echo prefix?

P.S. Is there a way to get the event time in C-h l? If not, I think
there should be an option for that.