emacs-diffs
[Top][All Lists]
Advanced

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

master fc8b87d: Don't perform pixel scrolling when window is hscrolled


From: Po Lu
Subject: master fc8b87d: Don't perform pixel scrolling when window is hscrolled
Date: Fri, 26 Nov 2021 00:08:59 -0500 (EST)

branch: master
commit fc8b87d904f63a73c3bb4db69341f0308b2bc8fa
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Don't perform pixel scrolling when window is hscrolled
    
    * lisp/better-pixel-scroll.el (better-pixel-scroll): Call
    mwheel-scroll instead if window is hscrolled.
---
 lisp/better-pixel-scroll.el | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/lisp/better-pixel-scroll.el b/lisp/better-pixel-scroll.el
index ac342a4..6101778 100644
--- a/lisp/better-pixel-scroll.el
+++ b/lisp/better-pixel-scroll.el
@@ -118,16 +118,17 @@ according to the user's turning the mouse wheel.  If 
EVENT does
 not have precise scrolling deltas, call `mwheel-scroll' instead.
 ARG is passed to `mwheel-scroll', should that be called."
   (interactive (list last-input-event current-prefix-arg))
-  (if (nth 4 event)
-      (let ((delta (round (cdr (nth 4 event))))
-            (window (mwheel-event-window event)))
-        (if (> (abs delta) (window-text-height window t))
-            (mwheel-scroll event arg)
-          (with-selected-window window
+  (let ((window (mwheel-event-window event)))
+    (if (and (nth 4 event)
+             (zerop (window-hscroll window)))
+        (let ((delta (round (cdr (nth 4 event)))))
+          (if (> (abs delta) (window-text-height window t))
+              (mwheel-scroll event arg)
+            (with-selected-window window
               (if (< delta 0)
                  (better-pixel-scroll-scroll-down (- delta))
                 (better-pixel-scroll-scroll-up delta)))))
-    (mwheel-scroll event arg)))
+      (mwheel-scroll event arg))))
 
 ;;;###autoload
 (define-minor-mode better-pixel-scroll-mode



reply via email to

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