# HG changeset patch # User Richard M. Stallman # Date 761098583 0 # Node ID a2b7fc4645d9b7721566f0e71ea8ae50db5616ad # Parent 9699f3d409e51598049de0e05225ac2b4c0888da (undo, yank): Set this-command to t at start, and set it correctly at the end. diff -r 9699f3d409e5 -r a2b7fc4645d9 lisp/simple.el --- a/lisp/simple.el Sun Feb 13 00:15:20 1994 +0000 +++ b/lisp/simple.el Sun Feb 13 00:16:23 1994 +0000 @@ -604,6 +604,9 @@ 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 @@ (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 @@ 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 @@ ;; 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)