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

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

[elpa] externals/objed 6eb0fd5 052/166: Adjust objed-append-mode


From: Clemens Radermacher
Subject: [elpa] externals/objed 6eb0fd5 052/166: Adjust objed-append-mode
Date: Sun, 29 Dec 2019 08:20:59 -0500 (EST)

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

    Adjust objed-append-mode
    
    On activation kill and copy should append subsequent kills.
---
 objed.el | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

diff --git a/objed.el b/objed.el
index b982525..0edfab3 100644
--- a/objed.el
+++ b/objed.el
@@ -2548,6 +2548,15 @@ state is only restored correctly if the buffer was not 
modified."
 
 ;; * Operation definitions
 
+(define-minor-mode objed-append-mode
+  "Append kills on `objed-copy'.
+
+When `objed-append-mode' is active `objed-copy' and `objed-kill'
+will append kills to the `kill-ring'."
+  :init-value nil
+  :lighter " >>")
+
+
 (defun objed-op-x (&optional arg)
   "Choose and apply an operation from region commands with completion.
 
@@ -2568,12 +2577,17 @@ region command."
 Kill marked objects or TIMES instances of current
 object (defaults to 1)."
   (interactive "p")
+  (when objed-append-mode
+    (setq last-command 'kill-region))
   (if objed--marked-ovs
       (objed--do #'kill-region)
     (let ((times (or times 1)))
       (dotimes (_ times)
         (objed--do #'kill-region)
-        (setq last-command #'kill-region)))))
+        (setq last-command #'kill-region)))
+    (message (if objed-append-mode
+                 "Appended to `kill-ring'"
+               "Added to `kill-ring.'"))))
 
 (defun objed-delete (&optional times)
   "Delete object(s).
@@ -2587,18 +2601,6 @@ object (defaults to 1)."
       (dotimes (_ times)
         (objed--do #'delete-region)))))
 
-
-(defvar objed--append-do-append nil)
-
-(define-minor-mode objed-append-mode
-  "Append kills on `objed-copy'.
-
-When `objed-append-mode' is active `objed-copy' will append kills
-to the `kill-ring'."
-  :init-value nil
-  (if objed-append-mode
-      (setq objed--append-do-append nil)))
-
 (defun objed-insert (&optional read)
   "Insert stuff.
 
@@ -2626,8 +2628,7 @@ inserting objed-register (see `objed-copy')."
 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)
+  (when objed-append-mode
     ;; append on repeat
     (setq last-command 'kill-region))
   (objed--do #'copy-region-as-kill 'keep)
@@ -2641,11 +2642,9 @@ With prefix arg REG non nil ask for register."
          (message "Copied to register"))
 
         (t
-         (message (if (and objed-append-mode
-                           objed--append-do-append)
+         (message (if objed-append-mode
                       "Appended to `kill-ring'"
-                    "Copied to `kill-ring.'"))
-         (setq objed--append-do-append t))))
+                    "Copied to `kill-ring.'")))))
 
 (defun objed-del-insert ()
   "Delete current object and exit to insert state."



reply via email to

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