[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/vertico 6e6c3bf159: vertico-buffer: Restore window for
From: |
ELPA Syncer |
Subject: |
[elpa] externals/vertico 6e6c3bf159: vertico-buffer: Restore window for read-minibuffer-restore-windows=nil (Fix #299) |
Date: |
Tue, 13 Dec 2022 08:58:24 -0500 (EST) |
branch: externals/vertico
commit 6e6c3bf159711ceb6c174d431c2d6d8ffb691ea1
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
vertico-buffer: Restore window for read-minibuffer-restore-windows=nil (Fix
#299)
---
extensions/vertico-buffer.el | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/extensions/vertico-buffer.el b/extensions/vertico-buffer.el
index 428b0f4b62..dec025ba8f 100644
--- a/extensions/vertico-buffer.el
+++ b/extensions/vertico-buffer.el
@@ -90,7 +90,7 @@
(defun vertico-buffer--setup ()
"Setup buffer display."
(add-hook 'pre-redisplay-functions 'vertico-buffer--redisplay nil 'local)
- (let* ((action vertico-buffer-display-action) tmp win
+ (let* ((action vertico-buffer-display-action) tmp win old-buf
(_ (unwind-protect
(progn
(with-current-buffer (setq tmp (generate-new-buffer
"*vertico-buffer*"))
@@ -99,7 +99,9 @@
(setq major-mode 'vertico-buffer-mode))
;; Temporarily select the original window such
;; that `display-buffer-same-window' works.
- (setq win (with-minibuffer-selected-window (display-buffer
tmp action)))
+ (setq old-buf (mapcar (lambda (win) (cons win (window-buffer
win))) (window-list))
+ win (with-minibuffer-selected-window (display-buffer
tmp action))
+ old-buf (alist-get win old-buf))
(set-window-buffer win (current-buffer)))
(kill-buffer tmp)))
(sym (make-symbol "vertico-buffer--destroy"))
@@ -109,9 +111,11 @@
(fset sym (lambda ()
(when (= depth (recursion-depth))
(with-selected-window (active-minibuffer-window)
- (when (window-live-p win)
+ (if (not (and (window-live-p win) (buffer-live-p old-buf)))
+ (delete-window win)
(set-window-parameter win 'no-other-window now)
- (set-window-parameter win 'no-delete-other-windows ndow))
+ (set-window-parameter win 'no-delete-other-windows ndow)
+ (set-window-buffer win old-buf))
(when vertico-buffer-hide-prompt
(set-window-vscroll nil 0))
(remove-hook 'minibuffer-exit-hook sym)))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/vertico 6e6c3bf159: vertico-buffer: Restore window for read-minibuffer-restore-windows=nil (Fix #299),
ELPA Syncer <=