]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix precision scrolling inside terminal buffers
authorPo Lu <luangruo@yahoo.com>
Mon, 27 Dec 2021 09:55:23 +0000 (17:55 +0800)
committerPo Lu <luangruo@yahoo.com>
Mon, 27 Dec 2021 09:56:12 +0000 (17:56 +0800)
* lisp/term.el (term-goto-process-mark-maybe): Don't move point
to process mark if the event is a vertical wheel event.

lisp/term.el

index e0a2f0a9a4b04b3c63c537e3d2f731f087c05d4c..5961350ff9ec5e3d24ddb94a9c85265d06066a21 100644 (file)
@@ -3300,13 +3300,16 @@ Called as a buffer-local `post-command-hook' function in
 `term-char-mode' to prevent commands from putting the buffer into
 an inconsistent state by unexpectedly moving point.
 
-Mouse events are ignored so that mouse selection is unimpeded.
+Mouse and wheel events are ignored so that mouse selection and
+mouse wheel scrolling is unimpeded.
 
 Only acts when the pre-command position of point was equal to the
 process mark, and the `term-char-mode-point-at-process-mark'
 option is enabled.  See `term-set-goto-process-mark'."
   (when term-goto-process-mark
-    (unless (mouse-event-p last-command-event)
+    (unless (or (mouse-event-p last-command-event)
+                (memq (event-basic-type last-command-event)
+                      '(wheel-down wheel-up)))
       (goto-char (term-process-mark)))))
 
 (defun term-process-mark ()