Subject: bug#57349: 29.0.50; pixel-scroll-precision-mode. error integer-or-marker-p nil

From: Gerd Möllmann <[email-masked]>
Date: Tue, 23 Aug 2022 11:03:35 +0200

Po Lu <[email-masked]> writes:

>
> Gerd Möllmann <[email-masked]> writes:
>
>> In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
>>  appkit-2113.60 Version 12.5.1 (Build 21G83)) of 2022-08-22 built on
>>  Mini.fritz.box
>> Repository revision: 0c410206aa91b9bc9a0922d63ec34de765eb86a6
>> Repository branch: master
>> Windowing system distributor 'Apple', version 10.3.2113
>> System Description:  macOS 12.5.1
>>
>> emacs -Q
>> M-x pixel-scroll-precision-mode RET
>>
>> Move the mouse to the lower right corner of the Emacs frame.  On macOS,
>> the mouse cursor changes shape to a double-arrow pointing 45 degrees in
>> the direction of the upper-left and lower-right corner of the screen.
>>
>> Scroll the mouse wheel.
>>
>> This either prints messages like this
>>
>> <nil> <wheel-up> is undefined
>> <nil> <double-wheel-up> is undefined
>> <nil> <triple-wheel-up> is undefined [45 times]
>> <nil> <wheel-down> is undefined
>
> I think that's the internal border.
>
>> or sometimes errors 'Wrong type argument: integer-or-marker-p, nil'.
>> Not sure what to make of this.  Looks like posn-at-x-y returns a posn
>> with a nil point?  Or maybe posn-point returns nil?
>
> Probably the former.  Could you please see if that error reliably shows
> up if you scroll with the mouse pointer over the place where the right
> fringe overlaps with the right and bottom internal borders?

I'm not quite sure.

   ...text | fringe | scrollbar | something |
   -------------------- modeline ------------
   ...text | fringe | scrollbar | something |

Sp far, I couldn't produce the error anywhere when the mouse is above
the modeline.  It's just saying that 'nil something' is undefined.

Below the modeline, it's happening when being in 'fringe', 'scrollbar'
'something' AFAICT.  Sorry, it's a hard to move the mouse precisely, and
the rounded edge of the frame doesn't help either.

I think this shows one of the events leading to the error:

  pixel-scroll-precision-scroll-up-page(0)
  pixel-scroll-precision-scroll-up(1)
  pixel-scroll-precision((wheel-up (#<window 4 on  *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
  funcall-interactively(pixel-scroll-precision (wheel-up (#<window 4 on  *Minibuf-0*> vertical-scroll-bar (576 . 8) 137763384 nil 1 (81 . 0) nil (576 . 8) (15 . 16)) 1 0 (0.0 . 1.0)))
  command-execute(pixel-scroll-precision)