summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-02-13 00:16:23 +0000
committerRichard M. Stallman <rms@gnu.org>1994-02-13 00:16:23 +0000
commit456c617c0b93bd3f296d57af45e042223ddf1860 (patch)
tree6060294a659d575faf9aefe86ca166e67bc69f2c /lisp/simple.el
parent188420314b1f5f6ee53751369b2ed2c9fb9fd612 (diff)
downloademacs-456c617c0b93bd3f296d57af45e042223ddf1860.tar.gz
(undo, yank): Set this-command to t at start,
and set it correctly at the end.
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index c103a2305ee..d917d846d6f 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -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)