]> code.delx.au - gnu-emacs/blobdiff - lisp/register.el
Merge from origin/emacs-24
[gnu-emacs] / lisp / register.el
index a60181e43c6f39828c38c6e4f4e1884848dd6bae..7afbc06c7fc555feecf5c13b8c267742982249e5 100644 (file)
@@ -252,19 +252,22 @@ Interactively, reads the register using `register-read-with-preview'."
       (goto-char (cadr val)))
      ((markerp val)
       (or (marker-buffer val)
-         (error "That register's buffer no longer exists"))
+         (user-error "That register's buffer no longer exists"))
       (switch-to-buffer (marker-buffer val))
+      (unless (or (= (point) (marker-position val))
+                  (eq last-command 'jump-to-register))
+        (push-mark))
       (goto-char val))
      ((and (consp val) (eq (car val) 'file))
       (find-file (cdr val)))
      ((and (consp val) (eq (car val) 'file-query))
       (or (find-buffer-visiting (nth 1 val))
          (y-or-n-p (format "Visit file %s again? " (nth 1 val)))
-         (error "Register access aborted"))
+         (user-error "Register access aborted"))
       (find-file (nth 1 val))
       (goto-char (nth 2 val)))
      (t
-      (error "Register doesn't contain a buffer position or configuration")))))
+      (user-error "Register doesn't contain a buffer position or configuration")))))
 
 (defun register-swap-out ()
   "Turn markers into file-query references when a buffer is killed."
@@ -316,7 +319,7 @@ Interactively, reads the register using `register-read-with-preview'."
        (set-register register (+ number register-val))))
      ((or (not register-val) (stringp register-val))
       (append-to-register register (region-beginning) (region-end) prefix))
-     (t (error "Register does not contain a number or text")))))
+     (t (user-error "Register does not contain a number or text")))))
 
 (defun view-register (register)
   "Display what is contained in register named REGISTER.
@@ -449,7 +452,7 @@ Interactively, reads the register using `register-read-with-preview'."
      ((and (markerp val) (marker-position val))
       (princ (marker-position val) (current-buffer)))
      (t
-      (error "Register does not contain text"))))
+      (user-error "Register does not contain text"))))
   (if (not arg) (exchange-point-and-mark)))
 
 (defun copy-to-register (register start end &optional delete-flag region)
@@ -492,7 +495,7 @@ Interactively, reads the register using `register-read-with-preview'."
     (set-register
      register (cond ((not reg) text)
                     ((stringp reg) (concat reg separator text))
-                    (t (error "Register does not contain text")))))
+                    (t (user-error "Register does not contain text")))))
   (setq deactivate-mark t)
   (cond (delete-flag
         (delete-region start end))
@@ -516,7 +519,7 @@ Interactively, reads the register using `register-read-with-preview'."
     (set-register
      register (cond ((not reg) text)
                     ((stringp reg) (concat text separator reg))
-                    (t (error "Register does not contain text")))))
+                    (t (user-error "Register does not contain text")))))
   (setq deactivate-mark t)
   (cond (delete-flag
         (delete-region start end))