Do not set mark on single mouse-1 clicks.

* mouse.el (mouse-drag-track): Do not set the mark if the user
releases the mouse without selecting anything.

Fixes: debbugs:11588
This commit is contained in:
Chong Yidong 2012-06-13 23:28:10 +08:00
parent ccf1dc189c
commit 8cca97031d
2 changed files with 14 additions and 6 deletions

View file

@ -1,3 +1,8 @@
2012-06-13 Chong Yidong <cyd@gnu.org>
* mouse.el (mouse-drag-track): Do not set the mark if the user
releases the mouse without selecting anything (Bug#11588).
2012-06-13 Stefan Monnier <monnier@iro.umontreal.ca>
* textmodes/tex-mode.el (latex-indent): Recognize tex-verbatim at EOB

View file

@ -805,7 +805,7 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
;; when setting point near the right fringe (but see below).
(auto-hscroll-mode-saved auto-hscroll-mode)
(auto-hscroll-mode nil)
event end end-point)
moved-off-start event end end-point)
(setq mouse-selection-click-count click-count)
;; In case the down click is in the middle of some intangible text,
@ -840,6 +840,9 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
(redisplay))
(setq end (event-end event)
end-point (posn-point end))
;; Note whether the mouse has left the starting position.
(unless (eq end-point start-point)
(setq moved-off-start t))
(if (and (eq (posn-window end) start-window)
(integer-or-marker-p end-point))
(mouse--drag-set-mark-and-point start-point
@ -880,11 +883,11 @@ DO-MOUSE-DRAG-REGION-POST-PROCESS should only be used by
(let (deactivate-mark)
(copy-region-as-kill (mark) (point)))))
;; If point hasn't moved, run the binding of the
;; terminating up-event.
(if do-multi-click
(goto-char start-point)
(deactivate-mark))
;; Otherwise, run binding of terminating up-event.
(cond
(do-multi-click (goto-char start-point))
(moved-off-start (deactivate-mark))
(t (pop-mark)))
(when (and (functionp fun)
(= start-hscroll (window-hscroll start-window))
;; Don't run the up-event handler if the window