summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mouse.el9
1 files changed, 5 insertions, 4 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 5f032754c00..46212cfa1b9 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -167,8 +167,9 @@ This must be bound to a mouse click."
(let ((point-save (point)))
(unwind-protect
(progn (mouse-set-point click)
- (push-mark nil t)
- (sit-for 1))
+ (push-mark nil t t)
+ (or transient-mark-mode
+ (sit-for 1)))
(goto-char point-save))))
(defun mouse-kill (click)
@@ -192,7 +193,7 @@ Prefix arguments are interpreted as with \\[yank]."
This does not delete the region; it acts like \\[kill-ring-save]."
(interactive "e")
(mouse-set-mark click)
- (call-interactively 'kill-ring-save))
+ (kill-ring-save (point) (mark t)))
;;; This function used to delete the text between point and the mouse
;;; whenever it was equal to the front of the kill ring, but some
@@ -225,7 +226,7 @@ which prepares for a second click to delete the text."
(cons (cons (car kill-ring) (point)) buffer-undo-list))))
;; Otherwise, save this region.
(mouse-set-mark click)
- (call-interactively 'kill-ring-save)
+ (kill-ring-save (point) (mark t))
(setq mouse-save-then-kill-posn
(list (car kill-ring) (point) click-posn)))))