summaryrefslogtreecommitdiff
path: root/lisp/repeat.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2001-02-10 16:33:44 +0000
committerRichard M. Stallman <rms@gnu.org>2001-02-10 16:33:44 +0000
commitbea4b9cef458b944a6cb7e76e75c14bb5f6d682b (patch)
treecd192003e5e97945eb5fbf04ee3cdaa350be83a6 /lisp/repeat.el
parentad0fd6b9f38d7edbcefd12166cea376e8683fd12 (diff)
downloademacs-bea4b9cef458b944a6cb7e76e75c14bb5f6d682b.tar.gz
(repeat): Don't let execute-kbd-macro alter real-last-command.
Diffstat (limited to 'lisp/repeat.el')
-rw-r--r--lisp/repeat.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/lisp/repeat.el b/lisp/repeat.el
index 523ee3ce964..d11da6aa498 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -280,7 +280,10 @@ can be modified by the global variable `repeat-on-final-keystroke'."
(let ((indirect (indirect-function real-last-command)))
(if (or (stringp indirect)
(vectorp indirect))
- (execute-kbd-macro real-last-command)
+ ;; Bind real-last-command so that executing the macro
+ ;; does not alter it.
+ (let ((real-last-command real-last-command))
+ (execute-kbd-macro real-last-command))
(call-interactively real-last-command)))))
(when repeat-repeat-char
;; A simple recursion here gets into trouble with max-lisp-eval-depth