From 745bd3238cc1dc81aafa69cb32dd0605ddd00527 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 6 Dec 2018 16:01:10 -0500 Subject: [PATCH] Fix delete-other-windows from inside popups Occasionally, a window will lose its popup status, but not its special window parameters, forcing non-popups to be treated like popups when delete-other-windows is called. --- modules/ui/popup/autoload/popup.el | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/ui/popup/autoload/popup.el b/modules/ui/popup/autoload/popup.el index 021bfc4e7..d12a44e62 100644 --- a/modules/ui/popup/autoload/popup.el +++ b/modules/ui/popup/autoload/popup.el @@ -72,11 +72,10 @@ the buffer is visible, then set another timer and try again later." buffer ttl)))))))))) (defun +popup--delete-other-windows (window) - "Called in lieu of `delete-other-windows' in popup windows. - -Raises WINDOW (assumed to be a popup), then deletes other windows." - (when-let* ((window (+popup/raise window))) - (delete-other-windows window)) + "Fixes `delete-other-windows' when used from a popup window." + (when-let* ((window (ignore-errors (+popup/raise window)))) + (let ((ignore-window-parameters t)) + (delete-other-windows window))) nil) (defun +popup--normalize-alist (alist)