diff --git a/modules/feature/popup/autoload.el b/modules/feature/popup/autoload.el index b10b53d9d..a27655b55 100644 --- a/modules/feature/popup/autoload.el +++ b/modules/feature/popup/autoload.el @@ -62,12 +62,12 @@ and enables `+popup-buffer-mode'." ;; t = default ;; integer = ttl ;; nil = no timer - (when ttl + (when (and ttl (not +popup--inhibit-transient)) (when (eq ttl t) (setq ttl +popup-ttl)) (cl-assert (integerp ttl) t) (if (= ttl 0) - (+popup--kill-buffer buffer) + (+popup--kill-buffer buffer 0) (setq +popup--timer (run-at-time ttl nil #'+popup--kill-buffer buffer ttl)))))))) @@ -316,6 +316,7 @@ with the :popup setting." prevent the popup(s) from messing up the UI (or vice versa)." `(let* ((in-popup-p (+popup-p)) (popups (+popup-windows)) + (+popup--inhibit-transient t) +popup--last) (dolist (p popups) (+popup/close p 'force)) diff --git a/modules/feature/popup/config.el b/modules/feature/popup/config.el index 5ee9f3345..316a50e88 100644 --- a/modules/feature/popup/config.el +++ b/modules/feature/popup/config.el @@ -77,6 +77,7 @@ deleted.") "Active keymap in popup windows. See `+popup-buffer-mode'.") +(defvar +popup--inhibit-transient nil) (defvar +popup--display-buffer-alist nil) (defvar +popup--old-display-buffer-alist nil) (defvar +popup--remember-last t)