emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OSX: Interprogram cut/paste issues


From: Kim F. Storm
Subject: Re: OSX: Interprogram cut/paste issues
Date: Tue, 03 May 2005 13:39:55 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

David Reitter <address@hidden> writes:

> Wouldn't it be a better solution to make sure clipboard-kill-ring-save
> and clipboard-yank respect cua-mode?

Well, cua-mode is optional, so it must try to respect clipboard- commands,
not the other way round.

Can you try this patch:

*** cua-base.el 02 May 2005 12:07:09 +0200      1.48
--- cua-base.el 03 May 2005 13:38:03 +0200      
***************
*** 777,785 ****
    (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))
      (if cua-keep-region-after-copy
        (cua--keep-active)
        (cua--deactivate))))
--- 777,789 ----
    (let ((start (mark)) (end (point)))
      (or (<= start end)
        (setq start (prog1 end (setq end start))))
!     (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,803 ****
      (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)))
      (cua--deactivate)))
  
  ;;; Generic commands for regions, rectangles, and global marks
--- 799,811 ----
      (let ((start (mark)) (end (point)))
        (or (<= start end)
          (setq start (prog1 end (setq end start))))
!       (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,869 ****
--- 872,879 ----
          (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,1290 ****
--- 1292,1302 ----
    (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)


-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]