diff options
author | Richard M. Stallman <rms@gnu.org> | 1998-10-16 19:40:12 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1998-10-16 19:40:12 +0000 |
commit | 7540af8576d6c63cbb6de026fc206a5b0be918de (patch) | |
tree | e6ffa5bd317042180159d55f93202ba97d54df32 /lisp/repeat.el | |
parent | 5de148a204024e30ec19aeeac3d377fb2f098f4a (diff) | |
download | emacs-7540af8576d6c63cbb6de026fc206a5b0be918de.tar.gz |
(repeat): Handle keyboard macros properly.
Handle new prefix arg after self-insert command.
Don't include cl even at compile time.
(repeat): Avoid using `loop'.
Diffstat (limited to 'lisp/repeat.el')
-rw-r--r-- | lisp/repeat.el | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lisp/repeat.el b/lisp/repeat.el index 6c970fc2c1e..3d3f464488d 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -93,8 +93,6 @@ ;;; Code: -(eval-when-compile (require 'cl)) - ;;;;; ************************* USER OPTIONS ************************** ;;;;; (defcustom repeat-too-dangerous '(kill-this-buffer) @@ -277,9 +275,20 @@ can be modified by the global variable `repeat-on-final-keystroke'." "inserted before auto-fill" "clobbered it, sorry"))))))) (setq repeat-num-input-keys-at-self-insert num-input-keys) - (loop repeat (prefix-numeric-value repeat-arg) do - (repeat-self-insert insertion))) - (call-interactively real-last-command))) + ;; If the self-insert had a repeat count, INSERTION + ;; includes that many copies of the same character. + ;; So use just the first character + ;; and repeat it the right number of times. + (setq insertion (substring insertion 0 1)) + (let ((count (prefix-numeric-value repeat-arg)) + (i 0)) + (while (< i count) + (repeat-self-insert insertion) + (setq i (1+ i))))) + (if (or (stringp real-last-command) + (vectorp 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 ;; on long sequences of repetitions of a command like `forward-word' |