summaryrefslogtreecommitdiff
path: root/lisp/mouse.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2014-08-08 12:56:50 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2014-08-08 12:56:50 -0400
commit5a88c153fcd647a81b2e5f285244bfbf861e1724 (patch)
tree0473d06a2778c18656585659c64f808ca04bf34f /lisp/mouse.el
parent1f3e13c15fb34571a510e69c8dfe6c88e292c593 (diff)
downloademacs-5a88c153fcd647a81b2e5f285244bfbf861e1724.tar.gz
* lisp/mouse.el (mouse--down-1-maybe-follows-link): Don't convert the down
event. Fixes: debbugs:18212
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r--lisp/mouse.el15
1 files changed, 5 insertions, 10 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 1cbff687c64..99407d9f9cf 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -117,19 +117,14 @@ Expects to be bound to `down-mouse-1' in `key-translation-map'."
'double-mouse-1 'mouse-1))
;; Turn the mouse-1 into a mouse-2 to follow links.
(let ((newup (if (eq mouse-1-click-follows-link 'double)
- 'double-mouse-2 'mouse-2))
- (newdown (if (eq mouse-1-click-follows-link 'double)
- 'double-down-mouse-2 'down-mouse-2)))
+ 'double-mouse-2 'mouse-2)))
;; If mouse-2 has never been done by the user, it doesn't have
;; the necessary property to be interpreted correctly.
- (put newup 'event-kind (get (car event) 'event-kind))
- (put newdown 'event-kind (get (car this-event) 'event-kind))
+ (unless (get newup 'event-kind)
+ (put newup 'event-kind (get (car event) 'event-kind)))
(push (cons newup (cdr event)) unread-command-events)
- ;; Modify the event in place, so read-key-sequence doesn't
- ;; generate a second fake prefix key (see fake_prefixed_keys in
- ;; src/keyboard.c).
- (setcar this-event newdown)
- (vector this-event))
+ ;; Don't change the down event, only the up-event (bug#18212).
+ nil)
(push event unread-command-events)
nil))))))