@@ -328,8 +328,7 @@ FORM is of the form (ARGS . BODY)."
328
328
(setq cl--bind-lets (nreverse cl--bind-lets))
329
329
; ; (cl-assert (eq :dummy (nth 1 (car cl--bind-lets))))
330
330
(list '&rest (car (pop cl--bind-lets))))))))
331
- `(nil
332
- (,@(nreverse simple-args) ,@rest-args )
331
+ `((,@(nreverse simple-args) ,@rest-args )
333
332
,@header
334
333
,(macroexp-let* cl--bind-lets
335
334
(macroexp-progn
@@ -366,9 +365,7 @@ more details.
366
365
def-body))
367
366
(doc-string 3 )
368
367
(indent 2 ))
369
- (let* ((res (cl--transform-lambda (cons args body) name))
370
- (form `(defun , name ,@(cdr res))))
371
- (if (car res) `(progn ,(car res) , form ) form)))
368
+ `(defun , name ,@(cl--transform-lambda (cons args body) name)))
372
369
373
370
;;;### autoload
374
371
(defmacro cl-iter-defun (name args &rest body )
@@ -387,9 +384,7 @@ and BODY is implicitly surrounded by (cl-block NAME ...).
387
384
(doc-string 3 )
388
385
(indent 2 ))
389
386
(require 'generator )
390
- (let* ((res (cl--transform-lambda (cons args body) name))
391
- (form `(iter-defun , name ,@(cdr res))))
392
- (if (car res) `(progn ,(car res) , form ) form)))
387
+ `(iter-defun , name ,@(cl--transform-lambda (cons args body) name)))
393
388
394
389
; ; The lambda list for macros is different from that of normal lambdas.
395
390
; ; Note that &environment is only allowed as first or last items in the
@@ -455,9 +450,7 @@ more details.
455
450
(&define name cl-macro-list cl-declarations-or-string def-body))
456
451
(doc-string 3 )
457
452
(indent 2 ))
458
- (let* ((res (cl--transform-lambda (cons args body) name))
459
- (form `(defmacro , name ,@(cdr res))))
460
- (if (car res) `(progn ,(car res) , form ) form)))
453
+ `(defmacro , name ,@(cl--transform-lambda (cons args body) name)))
461
454
462
455
(def-edebug-spec cl-lambda-expr
463
456
(&define (" lambda" cl-lambda-list
@@ -480,9 +473,7 @@ Like normal `function', except that if argument is a lambda form,
480
473
its argument list allows full Common Lisp conventions."
481
474
(declare (debug (&or symbolp cl-lambda-expr)))
482
475
(if (eq (car-safe func) 'lambda )
483
- (let* ((res (cl--transform-lambda (cdr func) 'cl-none ))
484
- (form `(function (lambda . ,(cdr res)))))
485
- (if (car res) `(progn ,(car res) , form ) form))
476
+ `(function (lambda . ,(cl--transform-lambda (cdr func) 'cl-none )))
486
477
`(function , func )))
487
478
488
479
(defun cl--make-usage-var (x )
@@ -2111,10 +2102,9 @@ This is like `cl-flet', but for macros instead of functions.
2111
2102
(if (null bindings) (macroexp-progn body)
2112
2103
(let* ((name (caar bindings))
2113
2104
(res (cl--transform-lambda (cdar bindings) name)))
2114
- (eval (car res))
2115
2105
(macroexpand-all (macroexp-progn body)
2116
2106
(cons (cons name
2117
- (eval `(cl- function (lambda ,@( cdr res) )) t ))
2107
+ (eval `(function (lambda ,@res )) t ))
2118
2108
macroexpand-all-environment))))))
2119
2109
2120
2110
(defun cl--sm-macroexpand (orig-fun exp &optional env )
0 commit comments