[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/consult 11857fdec7: Local minibuffer-exit-hook is not e
From: |
ELPA Syncer |
Subject: |
[elpa] externals/consult 11857fdec7: Local minibuffer-exit-hook is not executed if current-buffer/=minibuffer |
Date: |
Sat, 1 Oct 2022 15:57:26 -0400 (EDT) |
branch: externals/consult
commit 11857fdec772b24a7e83fe9a9f494bcdfd2707f7
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Local minibuffer-exit-hook is not executed if current-buffer/=minibuffer
---
consult.el | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/consult.el b/consult.el
index 1afd21e1bb..9070cbc738 100644
--- a/consult.el
+++ b/consult.el
@@ -1470,19 +1470,22 @@ PREVIEW-KEY, STATE, TRANSFORM and CANDIDATE."
(consult--minibuffer-with-setup-hook
(if (and state preview-key)
(lambda ()
- (let ((exit-hook (make-symbol
"consult--preview-minibuffer-exit")))
+ (let ((exit-hook (make-symbol
"consult--preview-minibuffer-exit"))
+ (depth (recursion-depth)))
(fset exit-hook
(lambda ()
- (when timer
- (cancel-timer timer)
- (setq timer nil))
- (with-selected-window (or (minibuffer-selected-window)
(next-window))
- ;; STEP 3: Reset preview
- (when last-preview
- (funcall state 'preview nil))
- ;; STEP 4: Notify the preview function of the
minibuffer exit
- (funcall state 'exit nil))))
- (add-hook 'minibuffer-exit-hook exit-hook nil 'local))
+ (when (= (recursion-depth) depth)
+ (remove-hook 'minibuffer-exit-hook exit-hook)
+ (when timer
+ (cancel-timer timer)
+ (setq timer nil))
+ (with-selected-window (or
(minibuffer-selected-window) (next-window))
+ ;; STEP 3: Reset preview
+ (when last-preview
+ (funcall state 'preview nil))
+ ;; STEP 4: Notify the preview function of the
minibuffer exit
+ (funcall state 'exit nil)))))
+ (add-hook 'minibuffer-exit-hook exit-hook))
;; STEP 1: Setup the preview function
(with-selected-window (or (minibuffer-selected-window)
(next-window))
(funcall state 'setup nil))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/consult 11857fdec7: Local minibuffer-exit-hook is not executed if current-buffer/=minibuffer,
ELPA Syncer <=