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.
 

Reply via email to