summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2022-04-13 21:19:53 +0200
committerDaniel Mendler <mail@daniel-mendler.de>2022-04-13 21:19:53 +0200
commitdb853e21348efc59409da70103857475c3dddd91 (patch)
tree13414b648a89778abd3530045b4deab04ccd1d25
parent3e31c40e79a499c06eb7648b1ade0abdc03089c8 (diff)
corfu--post-command: Add a comment about the overriding-terminal-local-map
-rw-r--r--corfu.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/corfu.el b/corfu.el
index 953ab08..adf94d4 100644
--- a/corfu.el
+++ b/corfu.el
@@ -872,7 +872,8 @@ there hasn't been any input, then quit."
(setq corfu--preview-ov nil))
(when (and (eq corfu-preview-current 'insert)
(/= corfu--index corfu--preselect)
- (not (or overriding-terminal-local-map ;; for example universal-argument-map
+ ;; See the comment about `overriding-local-map' in `corfu--post-command'.
+ (not (or overriding-terminal-local-map
(corfu--match-symbol-p corfu-continue-commands this-command))))
(corfu--insert 'exact)))
@@ -894,8 +895,13 @@ See `corfu-separator' for more details."
(goto-char beg)
(<= (line-beginning-position) pt (line-end-position)))
(or
+ ;; TODO We keep alive Corfu if a `overriding-terminal-local-map' is
+ ;; installed, for example the `universal-argument-map'. It would be good to
+ ;; think about a better criterion instead. Unfortunately relying on
+ ;; `this-command' alone is not sufficient, since the value of `this-command'
+ ;; gets clobbered in the case of transient keymaps.
+ overriding-terminal-local-map
;; Check if it is an explicitly listed continue command
- overriding-terminal-local-map ;; for example universal-argument-map
(corfu--match-symbol-p corfu-continue-commands this-command)
(and
;; Check for empty input