branch: externals/transient commit 2fd3ea14f2634c07bf99ee110f6a4923907d5f6f Author: Jonas Bernoulli <jo...@bernoul.li> Commit: Jonas Bernoulli <jo...@bernoul.li>
transient-augment-suffix: New macro --- lisp/transient.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lisp/transient.el b/lisp/transient.el index 04ad117649..671f630535 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -973,6 +973,18 @@ ARGLIST. The infix arguments are usually accessed by using (put ',name 'transient--suffix (,(or class 'transient-suffix) :command ',name ,@slots))))) +(defmacro transient-augment-suffix (name &rest args) + "Augment existing command NAME with a new transient suffix object. +Similar to `transient-define-suffix' but define a suffix object only. +\n\(fn NAME [KEYWORD VALUE]...)" + (declare (debug (&define name [&rest keywordp sexp])) + (indent defun)) + (pcase-let + ((`(,class ,slots) + (transient--expand-define-args args nil 'transient-augment-suffix t))) + `(put ',name 'transient--suffix + (,(or class 'transient-suffix) :command ',name ,@slots)))) + (defmacro transient-define-infix (name arglist &rest args) "Define NAME as a transient infix command.