aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emulation
diff options
context:
space:
mode:
authorKim F. Storm <[email protected]>2005-05-08 22:29:20 +0000
committerKim F. Storm <[email protected]>2005-05-08 22:29:20 +0000
commit6a350b06e2d2d3e092a6de644f742e0e52e6517b (patch)
treedfe1d15a4e3fbed7bd1b24522358c7da3ff39631 /lisp/emulation
parenta0e6f952819bb51ad031376f5835787d81ac12c1 (diff)
(cua-copy-region, cua-cut-region)
(cua-paste): Handle clipboard action. (cua--init-keymaps): Remap clipboard-kill-region and clipboard-kill-ring-save.
Diffstat (limited to 'lisp/emulation')
-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 2a515bc95f..e9679c66dd 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."
(let ((start (mark)) (end (point)))
(or (<= start end)
(setq start (prog1 end (setq end start))))
- (if cua--register
- (copy-to-register cua--register start end nil)
- (copy-region-as-kill start end))
+ (cond
+ (cua--register
+ (copy-to-register cua--register start end nil))
+ ((eq this-original-command 'clipboard-kill-ring-save)
+ (clipboard-kill-ring-save start end))
+ (t
+ (copy-region-as-kill start end)))
(if cua-keep-region-after-copy
(cua--keep-active)
(cua--deactivate))))
@@ -795,9 +799,13 @@ With numeric prefix arg, copy to register 0-9 instead."
(let ((start (mark)) (end (point)))
(or (<= start end)
(setq start (prog1 end (setq end start))))
- (if cua--register
- (copy-to-register cua--register start end t)
- (kill-region start end)))
+ (cond
+ (cua--register
+ (copy-to-register cua--register start end t))
+ ((eq this-original-command 'clipboard-kill-region)
+ (clipboard-kill-region start end))
+ (t
+ (kill-region start end))))
(cua--deactivate)))
;;; Generic commands for regions, rectangles, and global marks
@@ -864,6 +872,8 @@ If global mark is active, copy from register or one character."
(cua--insert-rectangle (cdr cua--last-killed-rectangle)
nil paste-column paste-lines)
(if arg (goto-char pt))))
+ ((eq this-original-command 'clipboard-yank)
+ (clipboard-yank))
(t (yank arg)))))))
(defun cua-paste-pop (arg)
@@ -1282,9 +1292,11 @@ If ARG is the atom `-', scroll upward by nearly full screen."
(define-key cua--region-keymap [remap delete-char] 'cua-delete-region)
;; kill region
(define-key cua--region-keymap [remap kill-region] 'cua-cut-region)
+ (define-key cua--region-keymap [remap clipboard-kill-region] 'cua-cut-region)
;; copy region
(define-key cua--region-keymap [remap copy-region-as-kill] 'cua-copy-region)
(define-key cua--region-keymap [remap kill-ring-save] 'cua-copy-region)
+ (define-key cua--region-keymap [remap clipboard-kill-ring-save] 'cua-copy-region)
;; cancel current region/rectangle
(define-key cua--region-keymap [remap keyboard-escape-quit] 'cua-cancel)
(define-key cua--region-keymap [remap keyboard-quit] 'cua-cancel)