From: Po Lu Date: Fri, 26 Nov 2021 05:07:54 +0000 (+0800) Subject: Don't perform pixel scrolling when window is hscrolled X-Git-Tag: emacs-29.0.90~2852^2~28 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fc8b87d904f63a73c3bb4db69341f0308b2bc8fa;p=emacs.git 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. --- diff --git a/lisp/better-pixel-scroll.el b/lisp/better-pixel-scroll.el index ac342a425a2..6101778ac0a 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