Avoid resetting track-mouse by mouse clicks
* 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)
This commit is contained in:
parent
505fef3ede
commit
ea1960bf3c
1 changed files with 6 additions and 4 deletions
|
@ -481,7 +481,8 @@ must be one of the symbols `header', `mode', or `vertical'."
|
||||||
(window-pixel-height window)))))
|
(window-pixel-height window)))))
|
||||||
(setq dragged t)
|
(setq dragged t)
|
||||||
(adjust-window-trailing-edge window growth nil 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
|
;; Start tracking. The special value 'dragging' signals the
|
||||||
;; display engine to freeze the mouse pointer shape for as long
|
;; display engine to freeze the mouse pointer shape for as long
|
||||||
;; as we drag.
|
;; 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 [right-divider] map)
|
||||||
(define-key map [bottom-divider] map)
|
(define-key map [bottom-divider] map)
|
||||||
map)
|
map)
|
||||||
t (lambda () (setq track-mouse nil)))))))
|
t (lambda () (setq track-mouse old-track-mouse)))))))
|
||||||
|
|
||||||
(defun mouse-drag-mode-line (start-event)
|
(defun mouse-drag-mode-line (start-event)
|
||||||
"Change the height of a window by dragging on the mode line."
|
"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)))
|
(click-count (1- (event-click-count start-event)))
|
||||||
;; Suppress automatic hscrolling, because that is a nuisance
|
;; Suppress automatic hscrolling, because that is a nuisance
|
||||||
;; when setting point near the right fringe (but see below).
|
;; 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)
|
(setq mouse-selection-click-count click-count)
|
||||||
;; In case the down click is in the middle of some intangible text,
|
;; 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))))))))
|
nil start-point))))))))
|
||||||
map)
|
map)
|
||||||
t (lambda ()
|
t (lambda ()
|
||||||
(setq track-mouse nil)
|
(setq track-mouse old-track-mouse)
|
||||||
(setq auto-hscroll-mode auto-hscroll-mode-saved)
|
(setq auto-hscroll-mode auto-hscroll-mode-saved)
|
||||||
(deactivate-mark)
|
(deactivate-mark)
|
||||||
(pop-mark)))))
|
(pop-mark)))))
|
||||||
|
|
Loading…
Add table
Reference in a new issue