diff options
| author | Thien-Thi Nguyen | 2007-11-03 21:02:35 +0000 |
|---|---|---|
| committer | Thien-Thi Nguyen | 2007-11-03 21:02:35 +0000 |
| commit | c81f72cebe9b5af6e27a65a15974292fde7ecfec (patch) | |
| tree | 4063804cea67330dc73236e309a2ab386a029fed | |
| parent | 6159985a125d89084f7b7339982382ec263e8943 (diff) | |
| download | emacs-c81f72cebe9b5af6e27a65a15974292fde7ecfec.tar.gz emacs-c81f72cebe9b5af6e27a65a15974292fde7ecfec.zip | |
(append-to-register, prepend-to-register):
Don't signal error on empty register; use the text, instead.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/register.el | 20 |
2 files changed, 17 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e9e6d75b911..dcd4733eb32 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2007-11-03 Sean O'Rourke <seano@cs.ucla.edu> | ||
| 2 | |||
| 3 | * register.el (append-to-register, prepend-to-register): | ||
| 4 | Don't signal error on empty register; use the text, instead. | ||
| 5 | |||
| 1 | 2007-11-03 Michael Olson <mwolson@gnu.org> | 6 | 2007-11-03 Michael Olson <mwolson@gnu.org> |
| 2 | 7 | ||
| 3 | * textmodes/remember.el (remember-buffer): Use | 8 | * textmodes/remember.el (remember-buffer): Use |
diff --git a/lisp/register.el b/lisp/register.el index 1f0811561c2..5648ca385a8 100644 --- a/lisp/register.el +++ b/lisp/register.el | |||
| @@ -287,10 +287,12 @@ With prefix arg, delete as well. | |||
| 287 | Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. | 287 | Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. |
| 288 | START and END are buffer positions indicating what to append." | 288 | START and END are buffer positions indicating what to append." |
| 289 | (interactive "cAppend to register: \nr\nP") | 289 | (interactive "cAppend to register: \nr\nP") |
| 290 | (or (stringp (get-register register)) | 290 | (let ((reg (get-register register)) |
| 291 | (error "Register does not contain text")) | 291 | (text (filter-buffer-substring start end))) |
| 292 | (set-register register (concat (get-register register) | 292 | (set-register |
| 293 | (filter-buffer-substring start end))) | 293 | register (cond ((not reg) text) |
| 294 | ((stringp reg) (concat reg text)) | ||
| 295 | (t (error "Register does not contain text"))))) | ||
| 294 | (if delete-flag (delete-region start end))) | 296 | (if delete-flag (delete-region start end))) |
| 295 | 297 | ||
| 296 | (defun prepend-to-register (register start end &optional delete-flag) | 298 | (defun prepend-to-register (register start end &optional delete-flag) |
| @@ -299,10 +301,12 @@ With prefix arg, delete as well. | |||
| 299 | Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. | 301 | Called from program, takes four args: REGISTER, START, END and DELETE-FLAG. |
| 300 | START and END are buffer positions indicating what to prepend." | 302 | START and END are buffer positions indicating what to prepend." |
| 301 | (interactive "cPrepend to register: \nr\nP") | 303 | (interactive "cPrepend to register: \nr\nP") |
| 302 | (or (stringp (get-register register)) | 304 | (let ((reg (get-register register)) |
| 303 | (error "Register does not contain text")) | 305 | (text (filter-buffer-substring start end))) |
| 304 | (set-register register (concat (filter-buffer-substring start end) | 306 | (set-register |
| 305 | (get-register register))) | 307 | register (cond ((not reg) text) |
| 308 | ((stringp reg) (concat text reg)) | ||
| 309 | (t (error "Register does not contain text"))))) | ||
| 306 | (if delete-flag (delete-region start end))) | 310 | (if delete-flag (delete-region start end))) |
| 307 | 311 | ||
| 308 | (defun copy-rectangle-to-register (register start end &optional delete-flag) | 312 | (defun copy-rectangle-to-register (register start end &optional delete-flag) |