(doc-string-allowed t)
((:environment env-arg-name))
((:default-default *default-default*))
- (error-fun 'error))
+ (error-fun 'error)
+ (wrap-block t))
(multiple-value-bind (forms declarations documentation)
(parse-body body doc-string-allowed)
(let ((*arg-tests* ())
,@*arg-tests*
(let* ,(nreverse *user-lets*)
,@declarations
- ,@forms))
+ ,@(if wrap-block
+ `((block ,(fun-name-block-name name)
+ ,@forms))
+ forms)))
`(,@(when (and env-arg-name (not env-arg-used))
`((declare (ignore ,env-arg-name)))))
documentation
((null rest-of-args))
(macrolet ((process-sublist (var sublist-name path)
(once-only ((var var))
- `(if (consp ,var)
+ `(if (listp ,var)
(let ((sub-list-name (gensym ,sublist-name)))
(push-sub-list-binding sub-list-name ,path ,var
name error-kind error-fun)