diff options
| author | Jonas Bernoulli <jonas@bernoul.li> | 2025-09-13 21:23:23 +0200 |
|---|---|---|
| committer | Jonas Bernoulli <jonas@bernoul.li> | 2025-09-13 21:23:23 +0200 |
| commit | 834869e0bfc5043b9f40598f724b9d40f9da87b8 (patch) | |
| tree | b740be486c5abd001cd6178ff7cb46e5ea712c14 | |
| parent | 44d3a0357c28705758b135b23f19052e20d8c824 (diff) | |
Use named-let instead of cl-labels
| -rw-r--r-- | lisp/transient.el | 59 |
1 files changed, 28 insertions, 31 deletions
diff --git a/lisp/transient.el b/lisp/transient.el index 1da2e1b..d813c75 100644 --- a/lisp/transient.el +++ b/lisp/transient.el @@ -1511,27 +1511,26 @@ symbol property.") layout (error "Unsupported layout version %s for %s" version prefix))) ;; Upgrade from version 1. - (cl-labels - ((upgrade (spec) - (cond - ((vectorp spec) - (pcase-let ((`[,level ,class ,args ,children] spec)) - (when level - (setq args (plist-put args :level level))) - (vector class args (mapcar #'upgrade children)))) - ((and (listp spec) - (length= spec 3) - (or (null (car spec)) - (natnump (car spec))) - (symbolp (cadr spec))) - (pcase-let ((`(,level ,class ,args) spec)) - (when level - (setq args (plist-put args :level level))) - (cons class args))) - ((listp spec) - (mapcar #'upgrade spec)) - (t spec)))) - (transient--set-layout prefix (upgrade layout)))) + (transient--set-layout + prefix + (named-let upgrade ((spec layout)) + (cond ((vectorp spec) + (pcase-let ((`[,level ,class ,args ,children] spec)) + (when level + (setq args (plist-put args :level level))) + (vector class args (mapcar #'upgrade children)))) + ((and (listp spec) + (length= spec 3) + (or (null (car spec)) + (natnump (car spec))) + (symbolp (cadr spec))) + (pcase-let ((`(,level ,class ,args) spec)) + (when level + (setq args (plist-put args :level level))) + (cons class args))) + ((listp spec) + (mapcar #'upgrade spec)) + (t spec))))) (error "Not a transient prefix command or group definition: %s" prefix))) (defun transient--get-children (prefix) @@ -2503,16 +2502,14 @@ value. Otherwise return CHILDREN as is.") (transient--get-children 'transient-common-commands)))))) (defun transient--flatten-suffixes (layout) - (cl-labels ((s (def) - (cond - ((stringp def) nil) - ((cl-typep def 'transient-information) nil) - ((listp def) (mapcan #'s def)) - ((cl-typep def 'transient-group) - (mapcan #'s (oref def suffixes))) - ((cl-typep def 'transient-suffix) - (list def))))) - (mapcan #'s layout))) + (named-let flatten ((def layout)) + (cond ((stringp def) nil) + ((cl-typep def 'transient-information) nil) + ((listp def) (mapcan #'flatten def)) + ((cl-typep def 'transient-group) + (mapcan #'flatten (oref def suffixes))) + ((cl-typep def 'transient-suffix) + (list def))))) (defun transient--init-child (levels spec parent) (cl-etypecase spec |
