summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2021-04-08 21:43:35 +0300
committerJuri Linkov <juri@linkov.net>2021-04-08 21:54:43 +0300
commit580c4c6510fca918610c9c0f440a7d21c4702f16 (patch)
treedc43816e8c8c6d15082bdb96cdf5eade5582a3fe
parentd365c947b53a2a1e4b43ab65922ebfeca23943d1 (diff)
downloademacs-580c4c6510fca918610c9c0f440a7d21c4702f16.tar.gz
* lisp/repeat.el (repeat-post-hook): Skip repeating in minibuffer (bug#47566).
(repeat-map)<defvar>: Add docstring.
-rw-r--r--lisp/repeat.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/repeat.el b/lisp/repeat.el
index 1830bcc0497..8cbfaa07487 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -348,7 +348,11 @@ For example, you can set it to <return> like `isearch-exit'."
:group 'convenience
:version "28.1")
-;;;###autoload (defvar repeat-map nil)
+;;;###autoload
+(defvar repeat-map nil
+ "The value of the repeating map for the next command.
+A command called from the map can set it again to the same map when
+the map can't be set on the command symbol property `repeat-map'.")
;;;###autoload
(define-minor-mode repeat-mode
@@ -388,8 +392,9 @@ When Repeat mode is enabled, and the command symbol has the property named
;; Exit when the last char is not among repeatable keys,
;; so e.g. `C-x u u' repeats undo, whereas `C-/ u' doesn't.
- (when (or (lookup-key map (this-single-command-keys) nil)
- prefix-command-p)
+ (when (and (zerop (minibuffer-depth)) ; avoid remapping in prompts
+ (or (lookup-key map (this-command-keys-vector))
+ prefix-command-p))
(when (and repeat-keep-prefix (not prefix-command-p))
(setq prefix-arg current-prefix-arg))