emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/posframe 962520d5da: Check if given BUFFER-OR-NAME is n


From: ELPA Syncer
Subject: [elpa] externals/posframe 962520d5da: Check if given BUFFER-OR-NAME is non-nil in posframe-hide
Date: Mon, 20 Mar 2023 03:59:11 -0400 (EDT)

branch: externals/posframe
commit 962520d5da6f70dbaf350590178b6ea838908752
Author: Naofumi Yasufuku <naofumi@yasufuku.dev>
Commit: tumashu <tumashu@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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]