Subject: bug#57995: <wheel-right> with pixel-scroll-precision-mode

From: Tak Kunihiro <[email-masked]>
Date: Tue, 27 Sep 2022 13:15:52 +0900 (JST)

I do not know how to call debugger.
It will take a while to respond!

>>>> With pixel-scroll-precision-mode, <wheel-right> and <wheel-left> does
>>>> not work. Is this expected behavior?
>>>> 
>>>> 1. emacs -Q
>>>> 2. (setq mouse-wheel-tilt-scroll t)
>>>> 3. <wheel-right> or <wheel-left> scrolls buffer.
>>>> 4. (pixel-scroll-precision-mode 1)
>>>> 5. Then <wheel-right> or <wheel-left> does not scroll buffer.
>>> 
>>> Thanks for reporting this bug.  Could you please include the output from
>>> `report-emacs-bug', as this is likely a system-specific issue?
>>
>> No buffer scroll with <wheel-right> and <wheel-left> by mouse with Mac.
>> I confirm that I can scroll buffer with swipe-right and swipe-left by
>> touchpad with MacBook.
> 
> Right, thanks.  Could you please run Emacs underneath a debugger (GDB or
> LLDB), and see whether or not this code around line 7342 of nsterm.m is
> ever hit:
> 
>           CGFloat delta = [theEvent deltaY];
>           /* Mac notebooks send wheel events with delta equal to 0
> 	     when trackpad scrolling.  */
>           if (delta == 0)
>             {
>               delta = [theEvent deltaX];
>               if (delta == 0)
>                 {
>                   NSTRACE_MSG ("deltaIsZero");
>                   return;
>                 }
>               emacs_event->kind = HORIZ_WHEEL_EVENT; <================
>             }
>           else
>             emacs_event->kind = WHEEL_EVENT;
> 
>           emacs_event->code = 0;
>           emacs_event->modifiers = EV_MODIFIERS (theEvent) |
>             ((delta > 0) ? up_modifier : down_modifier);
> 
> when you try to scroll left or right with your mouse while
> pixel-scroll-precision-mode is enabled?