aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/emulation/cua-base.el24
1 files changed, 18 insertions, 6 deletions
diff --git a/lisp/emulation/cua-base.el b/lisp/emulation/cua-base.el
index 2a515bc95f7..e9679c66dd3 100644
--- a/lisp/emulation/cua-base.el
+++ b/lisp/emulation/cua-base.el
@@ -777,9 +777,13 @@ With numeric prefix arg, copy to register 0-9 instead."
777 (let ((start (mark)) (end (point))) 777 (let ((start (mark)) (end (point)))
778 (or (<= start end) 778 (or (<= start end)
779 (setq start (prog1 end (setq end start)))) 779 (setq start (prog1 end (setq end start))))
780 (if cua--register 780 (cond
781 (copy-to-register cua--register start end nil) 781 (cua--register
782 (copy-region-as-kill start end)) 782 (copy-to-register cua--register start end nil))
783 ((eq this-original-command 'clipboard-kill-ring-save)
784 (clipboard-kill-ring-save start end))
785 (t
786 (copy-region-as-kill start end)))
783 (if cua-keep-region-after-copy 787 (if cua-keep-region-after-copy
784 (cua--keep-active) 788 (cua--keep-active)
785 (cua--deactivate)))) 789 (cua--deactivate))))
@@ -795,9 +799,13 @@ With numeric prefix arg, copy to register 0-9 instead."
795 (let ((start (mark)) (end (point))) 799 (let ((start (mark)) (end (point)))
796 (or (<= start end) 800 (or (<= start end)
797 (setq start (prog1 end (setq end start)))) 801 (setq start (prog1 end (setq end start))))
798 (if cua--register 802 (cond
799 (copy-to-register cua--register start end t) 803 (cua--register
800 (kill-region start end))) 804 (copy-to-register cua--register start end t))
805 ((eq this-original-command 'clipboard-kill-region)
806 (clipboard-kill-region start end))
807 (t
808 (kill-region start end))))
801 (cua--deactivate))) 809 (cua--deactivate)))
802 810
803;;; Generic commands for regions, rectangles, and global marks 811;;; Generic commands for regions, rectangles, and global marks
@@ -864,6 +872,8 @@ If global mark is active, copy from register or one character."
864 (cua--insert-rectangle (cdr cua--last-killed-rectangle) 872 (cua--insert-rectangle (cdr cua--last-killed-rectangle)
865 nil paste-column paste-lines) 873 nil paste-column paste-lines)
866 (if arg (goto-char pt)))) 874 (if arg (goto-char pt))))
875 ((eq this-original-command 'clipboard-yank)
876 (clipboard-yank))
867 (t (yank arg))))))) 877 (t (yank arg)))))))
868 878
869(defun cua-paste-pop (arg) 879(defun cua-paste-pop (arg)
@@ -1282,9 +1292,11 @@ If ARG is the atom `-', scroll upward by nearly full screen."
1282 (define-key cua--region-keymap [remap delete-char] 'cua-delete-region) 1292 (define-key cua--region-keymap [remap delete-char] 'cua-delete-region)
1283 ;; kill region 1293 ;; kill region
1284 (define-key cua--region-keymap [remap kill-region] 'cua-cut-region) 1294 (define-key cua--region-keymap [remap kill-region] 'cua-cut-region)
1295 (define-key cua--region-keymap [remap clipboard-kill-region] 'cua-cut-region)
1285 ;; copy region 1296 ;; copy region
1286 (define-key cua--region-keymap [remap copy-region-as-kill] 'cua-copy-region) 1297 (define-key cua--region-keymap [remap copy-region-as-kill] 'cua-copy-region)
1287 (define-key cua--region-keymap [remap kill-ring-save] 'cua-copy-region) 1298 (define-key cua--region-keymap [remap kill-ring-save] 'cua-copy-region)
1299 (define-key cua--region-keymap [remap clipboard-kill-ring-save] 'cua-copy-region)
1288 ;; cancel current region/rectangle 1300 ;; cancel current region/rectangle
1289 (define-key cua--region-keymap [remap keyboard-escape-quit] 'cua-cancel) 1301 (define-key cua--region-keymap [remap keyboard-escape-quit] 'cua-cancel)
1290 (define-key cua--region-keymap [remap keyboard-quit] 'cua-cancel) 1302 (define-key cua--region-keymap [remap keyboard-quit] 'cua-cancel)