]> git.eshelyaron.com Git - emacs.git/commitdiff
(undo, yank): Set this-command to t at start,
authorRichard M. Stallman <rms@gnu.org>
Sun, 13 Feb 1994 00:16:23 +0000 (00:16 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 13 Feb 1994 00:16:23 +0000 (00:16 +0000)
and set it correctly at the end.

lisp/simple.el

index c103a2305ee8704e50f88e7d1e4e81e18fe24d2f..d917d846d6f9da823d21437c0e1f13c6ff71ca8a 100644 (file)
@@ -604,6 +604,9 @@ Get previous element of history which is a completion of minibuffer contents."
 Repeat this command to undo more changes.
 A numeric argument serves as a repeat count."
   (interactive "*p")
+  ;; If we don't get all the way thru, make last-command indicate that
+  ;; for the following command.
+  (setq this-command t)
   (let ((modified (buffer-modified-p))
        (recent-save (recent-auto-save-p)))
     (or (eq (selected-window) (minibuffer-window))
@@ -611,10 +614,11 @@ A numeric argument serves as a repeat count."
     (or (eq last-command 'undo)
        (progn (undo-start)
               (undo-more 1)))
-    (setq this-command 'undo)
     (undo-more (or arg 1))
     (and modified (not (buffer-modified-p))
-        (delete-auto-save-file-if-necessary recent-save))))
+        (delete-auto-save-file-if-necessary recent-save)))
+  ;; If we do get all the way thru, make this-command indicate that.
+  (setq this-command 'undo))
 
 (defvar pending-undo-list nil
   "Within a run of consecutive undo commands, list remaining to be undone.")
@@ -1165,6 +1169,9 @@ With argument N, reinsert the Nth most recently killed stretch of killed
 text.
 See also the command \\[yank-pop]."
   (interactive "*P")
+  ;; If we don't get all the way thru, make last-command indicate that
+  ;; for the following command.
+  (setq this-command t)
   (push-mark (point))
   (insert (current-kill (cond
                         ((listp arg) 0)
@@ -1176,6 +1183,8 @@ See also the command \\[yank-pop]."
       ;; loop would deactivate the mark because we inserted text.
       (goto-char (prog1 (mark t)
                   (set-marker (mark-marker) (point) (current-buffer)))))
+  ;; If we do get all the way thru, make this-command indicate that.
+  (setq this-command 'yank)
   nil)
 
 (defun rotate-yank-pointer (arg)