summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2025-02-26 16:47:31 +0100
committerJonas Bernoulli <jonas@bernoul.li>2025-02-26 16:47:31 +0100
commitd3500a804e41e4e4f58a534019518e4fcd18f6bf (patch)
tree94de76524f125937b18481448e1368ded9bcc1b5
parent40f0a2dd6f545d6144c45f25633ae37c5b5608ff (diff)
transient--wrap-command: Rename internal variable
`suffix' is not appropriate because when the prefix allows invocation of non-suffixes, then this can be a non-suffix. We cannot just us `this-command' directly because the command may change the value of that and then we would fail to remove our advice.
-rw-r--r--lisp/transient.el36
1 files changed, 18 insertions, 18 deletions
diff --git a/lisp/transient.el b/lisp/transient.el
index 4b06514..4f760af 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2655,8 +2655,8 @@ value. Otherwise return CHILDREN as is.")
(defun transient--wrap-command ()
(static-if (>= emacs-major-version 30)
(letrec
- ((prefix transient--prefix)
- (suffix this-command)
+ ((cmd this-command)
+ (prefix transient--prefix)
(advice
(lambda (fn &rest args)
(interactive
@@ -2664,7 +2664,7 @@ value. Otherwise return CHILDREN as is.")
(let ((abort t))
(unwind-protect
(prog1 (let ((debugger #'transient--exit-and-debug))
- (if-let* ((obj (transient-suffix-object suffix))
+ (if-let* ((obj (transient-suffix-object cmd))
(grp (oref obj parent))
(adv (or (oref obj advice*)
(oref grp advice*))))
@@ -2675,12 +2675,12 @@ value. Otherwise return CHILDREN as is.")
(when abort
(when-let ((unwind (oref prefix unwind-suffix)))
(transient--debug 'unwind-interactive)
- (funcall unwind suffix))
- (advice-remove suffix advice)
+ (funcall unwind cmd))
+ (advice-remove cmd advice)
(oset prefix unwind-suffix nil))))))
(unwind-protect
(let ((debugger #'transient--exit-and-debug))
- (if-let* ((obj (transient-suffix-object suffix))
+ (if-let* ((obj (transient-suffix-object cmd))
(grp (oref obj parent))
(adv (or (oref obj advice)
(oref grp advice)
@@ -2690,24 +2690,24 @@ value. Otherwise return CHILDREN as is.")
(apply fn args)))
(when-let ((unwind (oref prefix unwind-suffix)))
(transient--debug 'unwind-command)
- (funcall unwind suffix))
- (advice-remove suffix advice)
+ (funcall unwind cmd))
+ (advice-remove cmd advice)
(oset prefix unwind-suffix nil)))))
(when (symbolp this-command)
- (advice-add suffix :around advice '((depth . -99))))
+ (advice-add cmd :around advice '((depth . -99))))
(cl-assert
(>= emacs-major-version 30) nil
"Emacs was downgraded, making it necessary to recompile Transient"))
;; (< emacs-major-version 30)
- (let* ((prefix transient--prefix)
- (suffix this-command)
+ (let* ((cmd this-command)
+ (prefix transient--prefix)
(advice nil)
(advice-interactive
(lambda (spec)
(let ((abort t))
(unwind-protect
(prog1 (let ((debugger #'transient--exit-and-debug))
- (if-let* ((obj (transient-suffix-object suffix))
+ (if-let* ((obj (transient-suffix-object cmd))
(grp (oref obj parent))
(adv (or (oref obj advice*)
(oref grp advice*))))
@@ -2718,14 +2718,14 @@ value. Otherwise return CHILDREN as is.")
(when abort
(when-let ((unwind (oref prefix unwind-suffix)))
(transient--debug 'unwind-interactive)
- (funcall unwind suffix))
- (advice-remove suffix advice)
+ (funcall unwind cmd))
+ (advice-remove cmd advice)
(oset prefix unwind-suffix nil))))))
(advice-body
(lambda (fn &rest args)
(unwind-protect
(let ((debugger #'transient--exit-and-debug))
- (if-let* ((obj (transient-suffix-object suffix))
+ (if-let* ((obj (transient-suffix-object cmd))
(grp (oref obj parent))
(adv (or (oref obj advice)
(oref grp advice)
@@ -2735,14 +2735,14 @@ value. Otherwise return CHILDREN as is.")
(apply fn args)))
(when-let ((unwind (oref prefix unwind-suffix)))
(transient--debug 'unwind-command)
- (funcall unwind suffix))
- (advice-remove suffix advice)
+ (funcall unwind cmd))
+ (advice-remove cmd advice)
(oset prefix unwind-suffix nil)))))
(setq advice `(lambda (fn &rest args)
(interactive ,advice-interactive)
(apply ',advice-body fn args)))
(when (symbolp this-command)
- (advice-add suffix :around advice '((depth . -99)))))))
+ (advice-add cmd :around advice '((depth . -99)))))))
(defun transient--premature-post-command ()
(and (equal (this-command-keys-vector) [])