summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-08-13 15:46:10 +0000
committerRichard M. Stallman <rms@gnu.org>1995-08-13 15:46:10 +0000
commit0bd6515d3d7881ab49cb2a79781b181317f4858d (patch)
tree1541d316df11592c4b0cc131bf0931371ab47d1f /lisp
parent682371ca20bdda619f8b36e10e78cb30910d17c4 (diff)
downloademacs-0bd6515d3d7881ab49cb2a79781b181317f4858d.tar.gz
(mouse-drag-region): Unread the up-event rather than execute it here.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mouse.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index a52d0d14213..d70d40d7de5 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -449,12 +449,13 @@ release the mouse button. Otherwise, it does not."
;; In the case of a multiple click, it gives the wrong results,
;; because it would fail to set up a region.
(if (and (= (mod mouse-selection-click-count 3) 0) (fboundp fun))
+ ;; In this case, we can just let the up-event execute normally.
(progn
- (setq this-command fun)
;; Delete the overlay before calling the function,
;; because delete-overlay increases buffer-modified-tick.
(delete-overlay mouse-drag-overlay)
- (funcall fun event))
+ (setq unread-command-events
+ (cons event unread-command-events)))
(if (not (= (overlay-start mouse-drag-overlay)
(overlay-end mouse-drag-overlay)))
(let (last-command this-command)