summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Rudalics <rudalics@gmx.at>2016-06-09 10:12:48 +0200
committerMartin Rudalics <rudalics@gmx.at>2016-06-09 10:12:48 +0200
commitd59bcbc00bc70f101492a80ea48964b2dd5d337d (patch)
treef68f24bac0af603829e7f6345866f08f1aabad20
parent27fe1e459ab137b20d45ef4167f3c2ec0d10fdd4 (diff)
downloademacs-d59bcbc00bc70f101492a80ea48964b2dd5d337d.tar.gz
Handle mouse leaving initial window in `mouse-set-region' (Bug#23707)
* lisp/mouse.el (mouse-set-region): If the mouse ends up in another window or on the menu bar, use `window-point' of selected window instead of `posn-point' of the event end (Bug#23707).
-rw-r--r--lisp/mouse.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 592338ad09d..64ee796a681 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -566,7 +566,12 @@ command alters the kill ring or not."
(mouse-minibuffer-check click)
(select-window (posn-window (event-start click)))
(let ((beg (posn-point (event-start click)))
- (end (posn-point (event-end click)))
+ (end
+ (if (eq (posn-window (event-end click)) (selected-window))
+ (posn-point (event-end click))
+ ;; If the mouse ends up in any other window or on the menu
+ ;; bar, use `window-point' of selected window (Bug#23707).
+ (window-point)))
(click-count (event-click-count click)))
(let ((drag-start (terminal-parameter nil 'mouse-drag-start)))
(when drag-start