Subject: bug#55299: 29.0.50; Bug with the mode-line and pixel-scroll-precision-mode

From: Po Lu <[email-masked]>
Date: Sat, 07 May 2022 21:21:07 +0800

Konrad Podczeck <[email-masked]> writes:

> Debugger entered--Lisp error: (wrong-type-argument wholenump 489.0)
>   posn-at-x-y(0 489.0)
>   pixel-scroll-precision-scroll-up-page(1.0)
>   pixel-scroll-precision-scroll-up(1.0)
>   pixel-scroll-precision((wheel-down (#<window 3 on *GNU Emacs*> 1011 (259 . 390) 7730978 nil 1011 (37 . 22) nil (259 . 82) (7 . 14)) 1 0 (0.0 . -1.0)))
>   funcall-interactively(pixel-scroll-precision (wheel-down (#<window 3 on *GNU Emacs*> 1011 (259 . 390) 7730978 nil 1011 (37 . 22) nil (259 . 82) (7 . 14)) 1 0 (0.0 . -1.0)))
>   call-interactively(pixel-scroll-precision nil nil)
>   command-execute(pixel-scroll-precision)

Sorry, please try this patch instead:

diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index b0fe2f56c0..a7cfda2491 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -685,6 +685,8 @@ pixel-scroll-precision
       (setq window (frame-selected-window window)))
     (if (and (nth 4 event))
         (let ((delta (round (cdr (nth 4 event)))))
+          (when (< delta 1.0)
+            (setq delta 1))
           (unless (zerop delta)
             (if (> (abs delta) (window-text-height window t))
                 (mwheel-scroll event nil)