emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/transient 517fe3b15e 209/366: transient--flatten-suffix


From: Jonas Bernoulli
Subject: [elpa] externals/transient 517fe3b15e 209/366: transient--flatten-suffixes: New function
Date: Tue, 25 Jan 2022 18:54:41 -0500 (EST)

branch: externals/transient
commit 517fe3b15e7b8c5e7202606db6d514abc5aba527
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    transient--flatten-suffixes: New function
---
 lisp/transient.el | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index ba8e7bbcc3..fe82b91005 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1647,16 +1647,7 @@ value.  Otherwise return CHILDREN as is."
 (defun transient--init-objects (name layout params)
   (setq transient--prefix (transient--init-prefix name params))
   (setq transient--layout (or layout (transient--init-suffixes name)))
-  (setq transient--suffixes
-        (cl-labels ((s (def)
-                       (cond
-                        ((stringp def) nil)
-                        ((listp def) (cl-mapcan #'s def))
-                        ((transient-group--eieio-childp def)
-                         (cl-mapcan #'s (oref def suffixes)))
-                        ((transient-suffix--eieio-childp def)
-                         (list def)))))
-          (cl-mapcan #'s transient--layout))))
+  (setq transient--suffixes (transient--flatten-suffixes transient--layout)))
 
 (defun transient--init-prefix (name &optional params)
   (let ((obj (let ((proto (get name 'transient--prefix)))
@@ -1676,6 +1667,17 @@ value.  Otherwise return CHILDREN as is."
                             (get 'transient-common-commands
                                  'transient--layout))))))
 
+(defun transient--flatten-suffixes (layout)
+  (cl-labels ((s (def)
+                 (cond
+                  ((stringp def) nil)
+                  ((listp def) (cl-mapcan #'s def))
+                  ((transient-group--eieio-childp def)
+                   (cl-mapcan #'s (oref def suffixes)))
+                  ((transient-suffix--eieio-childp def)
+                   (list def)))))
+    (cl-mapcan #'s layout)))
+
 (defun transient--init-child (levels spec)
   (cl-etypecase spec
     (vector  (transient--init-group  levels spec))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]