branch: externals/embark
commit 56d211a86ddce97e29969b8b3da3dcd1b6e1d912
Author: Daniel Mendler <[email protected]>
Commit: Daniel Mendler <[email protected]>
Check minibuffer-visible-completions
---
embark.el | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/embark.el b/embark.el
index 374319587e..9b2b23b61e 100644
--- a/embark.el
+++ b/embark.el
@@ -2854,11 +2854,17 @@ This makes `embark-export' work in Embark Collect
buffers."
(defun embark--with-completion-list-buffer (fun)
"Run function FUN in currently active *Completions* buffer."
(if (derived-mode-p #'completion-list-mode)
+ ;; Proceed if we're already inside the *Completions* buffer.
(funcall fun)
- (when-let ((window (get-buffer-window "*Completions*" 'visible))
+ ;; Switch to the *Completions* buffer if the buffer is connected to the
+ ;; current minibuffer and if the *Completions* buffer can be navigated from
+ ;; the minibuffer (see `minibuffer-visible-completions').
+ (when-let (((bound-and-true-p minibuffer-visible-completions))
+ ((minibufferp))
+ (window (get-buffer-window "*Completions*"))
(buffer (window-buffer window))
- ((eq (buffer-local-value 'completion-reference-buffer buffer)
- (window-buffer (active-minibuffer-window)))))
+ ((eq (current-buffer)
+ (buffer-local-value 'completion-reference-buffer buffer))))
(with-current-buffer buffer (funcall fun)))))
(defun embark-completion-list-candidates ()