bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Gerd Möllmann
Subject: bug#57349: 29.0.50; pixel-scroll-precision-mode. error integer-or-marker-p nil
Date: Tue, 23 Aug 2022 08:12:54 +0200

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

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?

Backtrace of the error:

  goto-char(nil)
  (save-excursion (goto-char point) (vertical-motion (- (1+ scroll-margin))) 
(point))
  (let* ((edges (window-edges nil t nil t)) (max-y (- (nth 3 edges) (nth 1 
edges))) (usable-height max-y) (posn (posn-at-x-y 0 (+ (window-tab-line-height) 
(window-header-line-height) (- max-y delta)))) (point (posn-point posn)) 
(up-point (save-excursion (goto-char point) (vertical-motion (- (1+ 
scroll-margin))) (point)))) (if (> (point) up-point) (progn (if (let 
((pos-visible (pos-visible-in-window-p up-point nil t))) (or (eq (length 
pos-visible) 2) (let* (... ... ...) (if usable-height ...)))) (progn (goto-char 
up-point))))) (let ((current-vscroll (window-vscroll nil t))) (setq delta (- 
delta current-vscroll)) (set-window-vscroll nil 0 t t) (if (> delta 0) (progn 
(let* ((start (window-start)) (dims (window-text-pixel-size nil ... start nil 
nil nil t)) (height (nth 1 dims)) (position (nth 2 dims))) (set-window-start 
nil position t) (if (> height usable-height) (progn (goto-char position))) (if 
(or (not position) (eq position start)) (progn (signal ... nil))) (setq delta 
(- delta height))))) (if (< delta 0) (progn (set-window-vscroll nil (- delta) t 
t)))))
  pixel-scroll-precision-scroll-up-page(0)
  (while (> delta max-height) (pixel-scroll-precision-scroll-up-page 
max-height) (setq delta (- delta max-height)))
  (let ((max-height (- (window-text-height nil t) (frame-char-height)))) (while 
(> delta max-height) (pixel-scroll-precision-scroll-up-page max-height) (setq 
delta (- delta max-height))) (pixel-scroll-precision-scroll-up-page delta))
  pixel-scroll-precision-scroll-up(1)
  (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta))
  (progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity 
delta))
  (condition-case nil (progn (if (< delta 0) 
(pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity 
delta)) (beginning-of-buffer (message (error-message-string 
'(beginning-of-buffer)))) (end-of-buffer (message (error-message-string 
'(end-of-buffer)))))
  (if (or (and pixel-scroll-precision-interpolate-mice (eq (device-class 
last-event-frame last-event-device) 'mouse)) (and 
pixel-scroll-precision-large-scroll-height (> (abs delta) 
pixel-scroll-precision-large-scroll-height) (let* ((kin-state 
(pixel-scroll-kinetic-state)) (ring (aref kin-state 0)) (time (aref kin-state 
1))) (or (null time) (> (- (float-time) time) 1.0) (and (consp ring) 
(ring-empty-p ring)))))) (progn (let ((kin-state (pixel-scroll-kinetic-state))) 
(aset kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) 
(pixel-scroll-precision-interpolate delta current-window)) (condition-case nil 
(progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity 
delta)) (beginning-of-buffer (message (error-message-string 
'(beginning-of-buffer)))) (end-of-buffer (message (error-message-string 
'(end-of-buffer))))))
  (progn (select-window (car save-selected-window--state) 'norecord) (if (or 
(and pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame 
last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> 
(abs delta) pixel-scroll-precision-large-scroll-height) (let* ((kin-state 
(pixel-scroll-kinetic-state)) (ring (aref kin-state 0)) (time (aref kin-state 
1))) (or (null time) (> (- ... time) 1.0) (and (consp ring) (ring-empty-p 
ring)))))) (progn (let ((kin-state (pixel-scroll-kinetic-state))) (aset 
kin-state 0 (make-ring 30)) (aset kin-state 1 nil)) 
(pixel-scroll-precision-interpolate delta current-window)) (condition-case nil 
(progn (if (< delta 0) (pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity 
delta)) (beginning-of-buffer (message (error-message-string 
'(beginning-of-buffer)))) (end-of-buffer (message (error-message-string 
'(end-of-buffer)))))))
  (unwind-protect (progn (select-window (car save-selected-window--state) 
'norecord) (if (or (and pixel-scroll-precision-interpolate-mice (eq 
(device-class last-event-frame last-event-device) 'mouse)) (and 
pixel-scroll-precision-large-scroll-height (> (abs delta) 
pixel-scroll-precision-large-scroll-height) (let* ((kin-state ...) (ring ...) 
(time ...)) (or (null time) (> ... 1.0) (and ... ...))))) (progn (let 
((kin-state (pixel-scroll-kinetic-state))) (aset kin-state 0 (make-ring 30)) 
(aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta 
current-window)) (condition-case nil (progn (if (< delta 0) 
(pixel-scroll-precision-scroll-down (- delta)) 
(pixel-scroll-precision-scroll-up delta)) (pixel-scroll-accumulate-velocity 
delta)) (beginning-of-buffer (message (error-message-string '...))) 
(end-of-buffer (message (error-message-string '...)))))) 
(internal--after-with-selected-window save-selected-window--state))
  (save-current-buffer (unwind-protect (progn (select-window (car 
save-selected-window--state) 'norecord) (if (or (and 
pixel-scroll-precision-interpolate-mice (eq (device-class last-event-frame 
last-event-device) 'mouse)) (and pixel-scroll-precision-large-scroll-height (> 
(abs delta) pixel-scroll-precision-large-scroll-height) (let* (... ... ...) (or 
... ... ...)))) (progn (let ((kin-state ...)) (aset kin-state 0 (make-ring 30)) 
(aset kin-state 1 nil)) (pixel-scroll-precision-interpolate delta 
current-window)) (condition-case nil (progn (if (< delta 0) 
(pixel-scroll-precision-scroll-down ...) (pixel-scroll-precision-scroll-up 
delta)) (pixel-scroll-accumulate-velocity delta)) (beginning-of-buffer (message 
(error-message-string ...))) (end-of-buffer (message (error-message-string 
...)))))) (internal--after-with-selected-window save-selected-window--state)))
  (let ((save-selected-window--state (internal--before-with-selected-window 
window))) (save-current-buffer (unwind-protect (progn (select-window (car 
save-selected-window--state) 'norecord) (if (or (and 
pixel-scroll-precision-interpolate-mice (eq ... ...)) (and 
pixel-scroll-precision-large-scroll-height (> ... 
pixel-scroll-precision-large-scroll-height) (let* ... ...))) (progn (let (...) 
(aset kin-state 0 ...) (aset kin-state 1 nil)) 
(pixel-scroll-precision-interpolate delta current-window)) (condition-case nil 
(progn (if ... ... ...) (pixel-scroll-accumulate-velocity delta)) 
(beginning-of-buffer (message ...)) (end-of-buffer (message ...))))) 
(internal--after-with-selected-window save-selected-window--state))))
  (if (> (abs delta) (window-text-height window t)) (mwheel-scroll event nil) 
(let ((save-selected-window--state (internal--before-with-selected-window 
window))) (save-current-buffer (unwind-protect (progn (select-window (car 
save-selected-window--state) 'norecord) (if (or (and 
pixel-scroll-precision-interpolate-mice ...) (and 
pixel-scroll-precision-large-scroll-height ... ...)) (progn (let ... ... ...) 
(pixel-scroll-precision-interpolate delta current-window)) (condition-case nil 
(progn ... ...) (beginning-of-buffer ...) (end-of-buffer ...)))) 
(internal--after-with-selected-window save-selected-window--state)))))
  (if (= 0 delta) nil (if (> (abs delta) (window-text-height window t)) 
(mwheel-scroll event nil) (let ((save-selected-window--state 
(internal--before-with-selected-window window))) (save-current-buffer 
(unwind-protect (progn (select-window (car save-selected-window--state) 
'norecord) (if (or ... ...) (progn ... ...) (condition-case nil ... ... ...))) 
(internal--after-with-selected-window save-selected-window--state))))))
  (let ((delta (round (cdr (nth 4 event))))) (if (= 0 delta) nil (if (> (abs 
delta) (window-text-height window t)) (mwheel-scroll event nil) (let 
((save-selected-window--state (internal--before-with-selected-window window))) 
(save-current-buffer (unwind-protect (progn (select-window ... ...) (if ... ... 
...)) (internal--after-with-selected-window save-selected-window--state)))))))
  (if (and (nth 4 event)) (let ((delta (round (cdr (nth 4 event))))) (if (= 0 
delta) nil (if (> (abs delta) (window-text-height window t)) (mwheel-scroll 
event nil) (let ((save-selected-window--state 
(internal--before-with-selected-window window))) (save-current-buffer 
(unwind-protect (progn ... ...) (internal--after-with-selected-window 
save-selected-window--state))))))) (mwheel-scroll event nil))
  (let ((window (mwheel-event-window event)) (current-window 
(selected-window))) (if (framep window) (progn (setq window 
(frame-selected-window window)))) (if (and (nth 4 event)) (let ((delta (round 
(cdr (nth 4 event))))) (if (= 0 delta) nil (if (> (abs delta) 
(window-text-height window t)) (mwheel-scroll event nil) (let 
((save-selected-window--state ...)) (save-current-buffer (unwind-protect ... 
...)))))) (mwheel-scroll event nil)))
  pixel-scroll-precision((wheel-up (#<window 4 on  *Minibuf-0*> right-fringe 
(865 . 6) 129226600 nil 1 (0 . 0) nil (11 . 6) (0 . 14)) 1 0 (0.0 . 1.0)))
  funcall-interactively(pixel-scroll-precision (wheel-up (#<window 4 on  
*Minibuf-0*> right-fringe (865 . 6) 129226600 nil 1 (0 . 0) nil (11 . 6) (0 . 
14)) 1 0 (0.0 . 1.0)))
  command-execute(pixel-scroll-precision)







reply via email to

[Prev in Thread] Current Thread [Next in Thread]