diff --git a/modules/feature/popup/autoload.el b/modules/feature/popup/autoload.el index f8e3a5a9a..f4549615a 100644 --- a/modules/feature/popup/autoload.el +++ b/modules/feature/popup/autoload.el @@ -39,10 +39,15 @@ and enables `+popup-buffer-mode'." (with-selected-window window (set-window-parameter window 'popup t) (set-window-parameter window 'no-other-window t) - (set-window-parameter window 'delete-window #'+popup--destroy) + (set-window-parameter + window 'delete-window + ;; if set, we still want to call `+popup--destroy' afterwards. + (if-let* ((fn (window-parameter window 'delete-window))) + (lambda (window) (funcall fn window) (+popup--destroy window)) + #'+popup--destroy)) (window-preserve-size - window (memq (window-parameter window 'window-side) '(left right)) t) - (+popup--cancel-buffer-timer) + window (memq (window-parameter window 'window-side) + '(left right)) t) (+popup-buffer-mode +1))) (defun +popup--destroy (window)