branch: externals/corfu
commit e487adf3a6b92a12c7ea9b223e90ec39b327addb
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
corfu-popupinfo: Ensure that popup is hidden if corfu-popupinfo-delay is nil
---
extensions/corfu-popupinfo.el | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index a7a981fe32..d7ca2eaaae 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -454,24 +454,26 @@ not be displayed until this command is called again, even
if
(cancel-timer corfu-popupinfo--timer)
(setq corfu-popupinfo--timer nil))
(if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame))
- (when-let* ((delay (if (consp corfu-popupinfo-delay)
+ (let ((candidate (nth corfu--index corfu--candidates)))
+ (if-let* ((delay (if (consp corfu-popupinfo-delay)
(funcall (if (eq corfu-popupinfo--toggle 'init)
#'car #'cdr)
corfu-popupinfo-delay)
corfu-popupinfo-delay))
(corfu-popupinfo--toggle))
- (let ((candidate (nth corfu--index corfu--candidates)))
- (if (or (eq delay t) (<= delay 0)
- (and (equal candidate corfu-popupinfo--candidate)
- (corfu-popupinfo--visible-p)))
- (corfu-popupinfo--show candidate)
- (when (corfu-popupinfo--visible-p)
- (cond
- (corfu-popupinfo-hide
- (corfu-popupinfo--hide))
- (corfu-popupinfo--candidate
- (corfu-popupinfo--show corfu-popupinfo--candidate))))
- (setq corfu-popupinfo--timer
- (run-at-time delay nil #'corfu-popupinfo--show
candidate)))))
+ (if (or (eq delay t) (<= delay 0)
+ (and (equal candidate corfu-popupinfo--candidate)
+ (corfu-popupinfo--visible-p)))
+ (corfu-popupinfo--show candidate)
+ (when (corfu-popupinfo--visible-p)
+ (cond
+ (corfu-popupinfo-hide
+ (corfu-popupinfo--hide))
+ (corfu-popupinfo--candidate
+ (corfu-popupinfo--show corfu-popupinfo--candidate))))
+ (setq corfu-popupinfo--timer
+ (run-at-time delay nil #'corfu-popupinfo--show candidate)))
+ (unless (equal candidate corfu-popupinfo--candidate)
+ (corfu-popupinfo--hide))))
(corfu-popupinfo--hide))))
(defun corfu-popupinfo--teardown ()