# HG changeset patch # User Richard M. Stallman # Date 1135739969 0 # Node ID 60b2bb5ad00fca0ec33d0c05d09e897dfcd73899 # Parent ea017f365939cc3c81edc84c63d0cd3e5abb7d49 (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. diff -r ea017f365939 -r 60b2bb5ad00f lisp/mouse.el --- 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