branch: externals/posframe commit 962520d5da6f70dbaf350590178b6ea838908752 Author: Naofumi Yasufuku <naof...@yasufuku.dev> Commit: tumashu <tuma...@163.com>
Check if given BUFFER-OR-NAME is non-nil in posframe-hide posframe-hide should not attempt to make non-posframe frames invisible. Debugger entered--Lisp error: (error "Attempt to make invisible the sole visible or icon...") posframe--make-frame-invisible(#<frame *scratch* 0x1489bb230>) posframe-hide(nil) vertico-posframe-mode(0) ... --- posframe.el | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/posframe.el b/posframe.el index 206ab83478..c3b8251206 100644 --- a/posframe.el +++ b/posframe.el @@ -1037,12 +1037,13 @@ BUFFER-OR-NAME can be a buffer or a buffer name." ;; called, otherwise: ;; (add-hook 'buffer-list-update-hook #'posframe-hide) ;; will lead to infinite recursion. - (let ((buffer-list-update-hook nil)) - (dolist (frame (frame-list)) - (let ((buffer-info (frame-parameter frame 'posframe-buffer))) - (when (or (equal buffer-or-name (car buffer-info)) - (equal buffer-or-name (cdr buffer-info))) - (posframe--make-frame-invisible frame)))))) + (when buffer-or-name + (let ((buffer-list-update-hook nil)) + (dolist (frame (frame-list)) + (let ((buffer-info (frame-parameter frame 'posframe-buffer))) + (when (or (equal buffer-or-name (car buffer-info)) + (equal buffer-or-name (cdr buffer-info))) + (posframe--make-frame-invisible frame))))))) (defun posframe-hidehandler-daemon () "Run posframe hidehandler daemon."