branch: externals/transient commit 804feb3b418809a831f8ac6d63233d19ef235a90 Author: Jonas Bernoulli <jo...@bernoul.li> Commit: Jonas Bernoulli <jo...@bernoul.li>
transient--{push,pop}-keymap: Do nothing if keymap is void Previously nil was pushed/popped using the low-level function, which didn't have a noticeable effect but it is better to explicitly turn these cases into noops. --- lisp/transient.el | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lisp/transient.el b/lisp/transient.el index 2e89fb19a0..e4c6a07228 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1634,15 +1634,19 @@ of the corresponding object.") (defvar transient--redisplay-map nil) (defvar transient--redisplay-key nil) -(defun transient--push-keymap (map) - (transient--debug " push %s%s" map (if (symbol-value map) "" " VOID")) - (with-demoted-errors "transient--push-keymap: %S" - (internal-push-keymap (symbol-value map) 'overriding-terminal-local-map))) - -(defun transient--pop-keymap (map) - (transient--debug " pop %s%s" map (if (symbol-value map) "" " VOID")) - (with-demoted-errors "transient--pop-keymap: %S" - (internal-pop-keymap (symbol-value map) 'overriding-terminal-local-map))) +(defun transient--push-keymap (var) + (let ((map (symbol-value var))) + (transient--debug " push %s%s" var (if map "" " VOID")) + (when map + (with-demoted-errors "transient--push-keymap: %S" + (internal-push-keymap map 'overriding-terminal-local-map))))) + +(defun transient--pop-keymap (var) + (let ((map (symbol-value var))) + (transient--debug " pop %s%s" var (if map "" " VOID")) + (when map + (with-demoted-errors "transient--pop-keymap: %S" + (internal-pop-keymap map 'overriding-terminal-local-map))))) (defun transient--make-transient-map () (let ((map (make-sparse-keymap)))