Mercurial > emacs
changeset 67870:60b2bb5ad00f
(mouse-drag-region-1): When remapping mouse-1 to mouse-2, go back to
previously selected window, so it's selected when mouse-2 command runs.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 28 Dec 2005 03:19:29 +0000 |
parents | ea017f365939 |
children | 998f4ca6948d |
files | lisp/mouse.el |
diffstat | 1 files changed, 24 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mouse.el Wed Dec 28 02:56:32 2005 +0000 +++ b/lisp/mouse.el Wed Dec 28 03:19:29 2005 +0000 @@ -1002,25 +1002,30 @@ (or end-point (= (window-start start-window) start-window-start))) - (if (and on-link - (or (not end-point) (= end-point start-point)) - (consp event) - (or remap-double-click - (and - (not (eq mouse-1-click-follows-link 'double)) - (= click-count 0) - (= (event-click-count event) 1) - (not (input-pending-p)) - (or (not (integerp mouse-1-click-follows-link)) - (let ((t0 (posn-timestamp (event-start start-event))) - (t1 (posn-timestamp (event-end event)))) - (and (integerp t0) (integerp t1) - (if (> mouse-1-click-follows-link 0) - (<= (- t1 t0) mouse-1-click-follows-link) - (< (- t0 t1) mouse-1-click-follows-link)))))))) - (if (or (vectorp on-link) (stringp on-link)) - (setq event (aref on-link 0)) - (setcar event 'mouse-2))) + (when (and on-link + (or (not end-point) (= end-point start-point)) + (consp event) + (or remap-double-click + (and + (not (eq mouse-1-click-follows-link 'double)) + (= click-count 0) + (= (event-click-count event) 1) + (not (input-pending-p)) + (or (not (integerp mouse-1-click-follows-link)) + (let ((t0 (posn-timestamp (event-start start-event))) + (t1 (posn-timestamp (event-end event)))) + (and (integerp t0) (integerp t1) + (if (> mouse-1-click-follows-link 0) + (<= (- t1 t0) mouse-1-click-follows-link) + (< (- t0 t1) mouse-1-click-follows-link)))))))) + ;; Reselect previous selected window, + ;; so that the mouse-2 event runs in the same + ;; situation as if user had clicked it directly. + ;; Fixes the bug reported by juri@jurta.org on 2005-12-27. + (select-window original-window) + (if (or (vectorp on-link) (stringp on-link)) + (setq event (aref on-link 0)) + (setcar event 'mouse-2))) (push event unread-command-events)))) ;; Case where the end-event is not a cons cell (it's just a boring