From eab079724deebd6c7eca42ad59da9b01a58b58c0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 6 Jan 2018 16:37:31 -0500 Subject: [PATCH] feature/popup: add inhibit-timers letvar Allows us to disable timer functionality when we're simply setting popup buffers aside temporarily. --- modules/feature/popup/autoload.el | 5 +++-- modules/feature/popup/config.el | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) 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)