]> git.eshelyaron.com Git - emacs.git/commitdiff
(append-to-register, prepend-to-register):
authorThien-Thi Nguyen <ttn@gnuvola.org>
Sat, 3 Nov 2007 21:02:35 +0000 (21:02 +0000)
committerThien-Thi Nguyen <ttn@gnuvola.org>
Sat, 3 Nov 2007 21:02:35 +0000 (21:02 +0000)
Don't signal error on empty register; use the text, instead.

lisp/ChangeLog
lisp/register.el

index e9e6d75b911d65eca72d907b6e0a0fcc4e333eb8..dcd4733eb328c05605c2acc2196e130e01be2286 100644 (file)
@@ -1,3 +1,8 @@
+2007-11-03  Sean O'Rourke  <seano@cs.ucla.edu>
+
+       * register.el (append-to-register, prepend-to-register):
+       Don't signal error on empty register; use the text, instead.
+
 2007-11-03  Michael Olson  <mwolson@gnu.org>
 
        * textmodes/remember.el (remember-buffer): Use
index 1f0811561c2b30accc06bc7d7781a0ffa21643c4..5648ca385a880a1d42c8794d59afcac42ca7e4d3 100644 (file)
@@ -287,10 +287,12 @@ With prefix arg, delete as well.
 Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
 START and END are buffer positions indicating what to append."
   (interactive "cAppend to register: \nr\nP")
-  (or (stringp (get-register register))
-      (error "Register does not contain text"))
-  (set-register register (concat (get-register register)
-                           (filter-buffer-substring start end)))
+  (let ((reg (get-register register))
+        (text (filter-buffer-substring start end)))
+    (set-register
+     register (cond ((not reg) text)
+                    ((stringp reg) (concat reg text))
+                    (t (error "Register does not contain text")))))
   (if delete-flag (delete-region start end)))
 
 (defun prepend-to-register (register start end &optional delete-flag)
@@ -299,10 +301,12 @@ With prefix arg, delete as well.
 Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
 START and END are buffer positions indicating what to prepend."
   (interactive "cPrepend to register: \nr\nP")
-  (or (stringp (get-register register))
-      (error "Register does not contain text"))
-  (set-register register (concat (filter-buffer-substring start end)
-                           (get-register register)))
+  (let ((reg (get-register register))
+        (text (filter-buffer-substring start end)))
+    (set-register
+     register (cond ((not reg) text)
+                    ((stringp reg) (concat text reg))
+                    (t (error "Register does not contain text")))))
   (if delete-flag (delete-region start end)))
 
 (defun copy-rectangle-to-register (register start end &optional delete-flag)