comparison lisp/mouse.el @ 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 01ba52243e5f
children f223df02d351
comparison
equal deleted inserted replaced
67869:ea017f365939 67870:60b2bb5ad00f
1000 ;; position due to the new window contents, 1000 ;; position due to the new window contents,
1001 ;; and point is set again. 1001 ;; and point is set again.
1002 (or end-point 1002 (or end-point
1003 (= (window-start start-window) 1003 (= (window-start start-window)
1004 start-window-start))) 1004 start-window-start)))
1005 (if (and on-link 1005 (when (and on-link
1006 (or (not end-point) (= end-point start-point)) 1006 (or (not end-point) (= end-point start-point))
1007 (consp event) 1007 (consp event)
1008 (or remap-double-click 1008 (or remap-double-click
1009 (and 1009 (and
1010 (not (eq mouse-1-click-follows-link 'double)) 1010 (not (eq mouse-1-click-follows-link 'double))
1011 (= click-count 0) 1011 (= click-count 0)
1012 (= (event-click-count event) 1) 1012 (= (event-click-count event) 1)
1013 (not (input-pending-p)) 1013 (not (input-pending-p))
1014 (or (not (integerp mouse-1-click-follows-link)) 1014 (or (not (integerp mouse-1-click-follows-link))
1015 (let ((t0 (posn-timestamp (event-start start-event))) 1015 (let ((t0 (posn-timestamp (event-start start-event)))
1016 (t1 (posn-timestamp (event-end event)))) 1016 (t1 (posn-timestamp (event-end event))))
1017 (and (integerp t0) (integerp t1) 1017 (and (integerp t0) (integerp t1)
1018 (if (> mouse-1-click-follows-link 0) 1018 (if (> mouse-1-click-follows-link 0)
1019 (<= (- t1 t0) mouse-1-click-follows-link) 1019 (<= (- t1 t0) mouse-1-click-follows-link)
1020 (< (- t0 t1) mouse-1-click-follows-link)))))))) 1020 (< (- t0 t1) mouse-1-click-follows-link))))))))
1021 (if (or (vectorp on-link) (stringp on-link)) 1021 ;; Reselect previous selected window,
1022 (setq event (aref on-link 0)) 1022 ;; so that the mouse-2 event runs in the same
1023 (setcar event 'mouse-2))) 1023 ;; situation as if user had clicked it directly.
1024 ;; Fixes the bug reported by juri@jurta.org on 2005-12-27.
1025 (select-window original-window)
1026 (if (or (vectorp on-link) (stringp on-link))
1027 (setq event (aref on-link 0))
1028 (setcar event 'mouse-2)))
1024 (push event unread-command-events)))) 1029 (push event unread-command-events))))
1025 1030
1026 ;; Case where the end-event is not a cons cell (it's just a boring 1031 ;; Case where the end-event is not a cons cell (it's just a boring
1027 ;; char-key-press). 1032 ;; char-key-press).
1028 (delete-overlay mouse-drag-overlay))))) 1033 (delete-overlay mouse-drag-overlay)))))