summaryrefslogtreecommitdiff
path: root/lisp/mouse.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2022-06-20 00:59:14 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2022-06-20 01:00:06 +0200
commite02ebe91379459efc9c5fc7bb9de38fcf0e59cd7 (patch)
tree676fbd4c4800fd449ac772104f3c6ebb488a5b7e /lisp/mouse.el
parent694d7984a347652bd0ff337056b9e616dc5aaee8 (diff)
downloademacs-e02ebe91379459efc9c5fc7bb9de38fcf0e59cd7.tar.gz
Allow appending to the kill ring with mouse selections
* lisp/bindings.el (ignore-preserving-kill-region): New function. (global-map): Use it. * lisp/mouse.el (mouse-set-region, mouse-drag-region) (mouse-drag-track): Allow appending to kill ring with mouse selections (bug#32747).
Diffstat (limited to 'lisp/mouse.el')
-rw-r--r--lisp/mouse.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 14cb20c234a..82c8a146932 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1439,7 +1439,8 @@ command alters the kill ring or not."
;; Don't set this-command to `kill-region', so a following
;; C-w won't double the text in the kill ring. Ignore
;; `last-command' so we don't append to a preceding kill.
- (let (this-command last-command deactivate-mark)
+ (let ((last-command last-command)
+ this-command deactivate-mark)
(copy-region-as-kill beg end)))
(if (numberp beg) (goto-char beg))
;; On a text terminal, bounce the cursor.
@@ -1542,6 +1543,7 @@ is dragged over to."
(mouse-drag-and-drop-region start-event)
;; Give temporary modes such as isearch a chance to turn off.
(run-hooks 'mouse-leave-buffer-hook)
+ (ignore-preserving-kill-region)
(mouse-drag-track start-event)))
;; Inhibit the region-confinement when undoing mouse-drag-region
@@ -1751,7 +1753,8 @@ The region will be defined with mark and point."
nil start-point))
((>= mouse-row bottom)
(mouse-scroll-subr start-window (1+ (- mouse-row bottom))
- nil start-point))))))))
+ nil start-point))))))
+ (ignore-preserving-kill-region)))
map)
t (lambda ()
(funcall cleanup)