emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/objed fe2b5f1 34/59: Improve objed-copy


From: Clemens Radermacher
Subject: [elpa] externals/objed fe2b5f1 34/59: Improve objed-copy
Date: Sun, 24 Mar 2019 06:06:40 -0400 (EDT)

branch: externals/objed
commit fe2b5f19f64469a1b30e542da5f0ae2a2e7f382e
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve objed-copy
---
 objed.el | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/objed.el b/objed.el
index 6139d49..9d88553 100644
--- a/objed.el
+++ b/objed.el
@@ -2455,25 +2455,32 @@ inserting objed-register (see `objed-copy')."
        (insert-register :objed-register)))))
 
 
-(defun objed-copy ()
+(defun objed-copy (&optional reg)
   "Copy objects.
 
-On repeat ask for copy object text to objed register."
-  (interactive)
+On repeat add text to objed register.
+With prefix arg REG non nil ask for register."
+  (interactive "P")
   (when (and objed-append-mode
              objed--append-do-append)
     ;; append on repeat
     (setq last-command 'kill-region))
   (objed--do #'copy-region-as-kill 'keep)
-  (if (eq real-last-command real-this-command)
-      (progn (set-register :objed-register
-                           (objed--object-string))
-             (message "Copied to objed register"))
-    (message (if (and objed-append-mode
-                      objed--append-do-append)
-                 "Appended to `kill-ring'"
-               "Copied to `kill-ring.'"))
-    (setq objed--append-do-append t)))
+  (cond ((eq real-last-command real-this-command)
+         (set-register :objed-register
+                       (objed--object-string))
+         (message "Copied to objed register, insert with x-i."))
+        (reg
+         (set-register (register-read-with-preview "Save to register: ")
+                       (objed--object-string))
+         (message "Copied to register"))
+
+        (t
+         (message (if (and objed-append-mode
+                           objed--append-do-append)
+                      "Appended to `kill-ring'"
+                    "Copied to `kill-ring.'"))
+         (setq objed--append-do-append t))))
 
 (defun objed-del-insert ()
   "Delete current object and exit to insert state."



reply via email to

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