From 8c396a11f532a1beb594b65e99e594f1e9f1c2c8 Mon Sep 17 00:00:00 2001 From: Milan Zamazal Date: Tue, 2 Aug 2022 21:14:04 +0200 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20err=20in=20pip-frame-remove-buf?= =?UTF-8?q?fer=20if=20there=20is=20no=20PIP=20frame?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is useful e.g. to prevent the error when a PIP frame with a temporarily displayed buffer is deleted before the buffer timer attempts to remove the buffer. --- pip-frame.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pip-frame.el b/pip-frame.el index d11761b..dbd51a2 100644 --- a/pip-frame.el +++ b/pip-frame.el @@ -175,14 +175,15 @@ If the buffer is not present in the PIP frame, do nothing." (interactive (list (completing-read "Remove PIP buffer: " (mapcar #'buffer-name (pip-frame--buffers)) nil t))) - (let* ((windows (window-list (pip-frame--get-frame))) - (buffer (get-buffer buffer-or-name)) - (windows-to-delete (cl-remove buffer windows - :key #'window-buffer - :test-not #'eq))) - (if (= (length windows-to-delete) (length windows)) - (pip-frame-delete-frame) - (seq-do #'delete-window windows-to-delete)))) + (if-let ((frame (pip-frame--get-frame t)) + (windows (window-list frame)) + (buffer (get-buffer buffer-or-name)) + (windows-to-delete (cl-remove buffer windows + :key #'window-buffer + :test-not #'eq))) + (if (= (length windows-to-delete) (length windows)) + (pip-frame-delete-frame) + (seq-do #'delete-window windows-to-delete)))) (defun pip-frame--move (x y) (let ((frame (pip-frame--get-frame)))