changeset 66536:ef5c1ec14e1f

(undo): Display message at end, not at start.
author Richard M. Stallman <rms@gnu.org>
date Sat, 29 Oct 2005 19:48:22 +0000
parents 9bc3dae397fe
children 760919245a05
files lisp/simple.el
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/simple.el	Sat Oct 29 19:47:23 2005 +0000
+++ b/lisp/simple.el	Sat Oct 29 19:48:22 2005 +0000
@@ -1344,7 +1344,8 @@
   ;; and will get another error.  To begin undoing the undos,
   ;; you must type some other command.
   (let ((modified (buffer-modified-p))
-	(recent-save (recent-auto-save-p)))
+	(recent-save (recent-auto-save-p))
+	message)
     ;; If we get an error in undo-start,
     ;; the next command should not be a "consecutive undo".
     ;; So set `this-command' to something other than `undo'.
@@ -1373,9 +1374,9 @@
     ;; so, ask the user whether she wants to skip the redo/undo pair.
     (let ((equiv (gethash pending-undo-list undo-equiv-table)))
       (or (eq (selected-window) (minibuffer-window))
-	  (message (if undo-in-region
-		       (if equiv "Redo in region!" "Undo in region!")
-		     (if equiv "Redo!" "Undo!"))))
+	  (setq message (if undo-in-region
+			    (if equiv "Redo in region!" "Undo in region!")
+			  (if equiv "Redo!" "Undo!"))))
       (when (and (consp equiv) undo-no-redo)
 	;; The equiv entry might point to another redo record if we have done
 	;; undo-redo-undo-redo-... so skip to the very last equiv.
@@ -1417,7 +1418,10 @@
     ;; Record what the current undo list says,
     ;; so the next command can tell if the buffer was modified in between.
     (and modified (not (buffer-modified-p))
-	 (delete-auto-save-file-if-necessary recent-save))))
+	 (delete-auto-save-file-if-necessary recent-save))
+    ;; Display a message announcing success.
+    (if message
+	(message message))))
 
 (defun buffer-disable-undo (&optional buffer)
   "Make BUFFER stop keeping undo information.