]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid resetting track-mouse by mouse clicks
authorEli Zaretskii <eliz@gnu.org>
Wed, 21 Sep 2016 15:00:18 +0000 (18:00 +0300)
committerEli Zaretskii <eliz@gnu.org>
Wed, 21 Sep 2016 15:00:18 +0000 (18:00 +0300)
* lisp/mouse.el (mouse-drag-line, mouse-drag-track): Don't assume
the previous value of track-mouse is nil; instead, save and
restore the previous value.  (Bug#24480)

lisp/mouse.el

index 27f2acbc76a896e1ee1a9c49edb24f8fbdbd74f0..d0694007d56039e7b07966fce773e550c8d4fcf6 100644 (file)
@@ -481,7 +481,8 @@ must be one of the symbols `header', `mode', or `vertical'."
                                                (window-pixel-height window)))))
                  (setq dragged t)
                  (adjust-window-trailing-edge window growth nil t))
-               (setq last-position position))))))
+               (setq last-position position)))))
+           (old-track-mouse track-mouse))
       ;; Start tracking.  The special value 'dragging' signals the
       ;; display engine to freeze the mouse pointer shape for as long
       ;; as we drag.
@@ -514,7 +515,7 @@ must be one of the symbols `header', `mode', or `vertical'."
               (define-key map [right-divider] map)
               (define-key map [bottom-divider] map)
               map)
-            t (lambda () (setq track-mouse nil)))))))
+            t (lambda () (setq track-mouse old-track-mouse)))))))
 
 (defun mouse-drag-mode-line (start-event)
   "Change the height of a window by dragging on the mode line."
@@ -825,7 +826,8 @@ The region will be defined with mark and point."
         (click-count (1- (event-click-count start-event)))
         ;; Suppress automatic hscrolling, because that is a nuisance
         ;; when setting point near the right fringe (but see below).
-        (auto-hscroll-mode-saved auto-hscroll-mode))
+        (auto-hscroll-mode-saved auto-hscroll-mode)
+         (old-track-mouse track-mouse))
 
     (setq mouse-selection-click-count click-count)
     ;; In case the down click is in the middle of some intangible text,
@@ -877,7 +879,7 @@ The region will be defined with mark and point."
                                       nil start-point))))))))
        map)
      t (lambda ()
-         (setq track-mouse nil)
+         (setq track-mouse old-track-mouse)
          (setq auto-hscroll-mode auto-hscroll-mode-saved)
           (deactivate-mark)
          (pop-mark)))))