X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fparse-defmacro.lisp;h=48576799bb5dae3ce8dfab57388e79fd9c0d5876;hb=0223f43d5f199914ebceff12b6f4c60448369edd;hp=8fb6d8c3271d1a0763c3bddcce56c1bc1c9c6e7d;hpb=37200d73dfca16507809778574092cfb998711d5;p=sbcl.git diff --git a/src/code/parse-defmacro.lisp b/src/code/parse-defmacro.lisp index 8fb6d8c..4857679 100644 --- a/src/code/parse-defmacro.lisp +++ b/src/code/parse-defmacro.lisp @@ -39,6 +39,9 @@ ((:default-default *default-default*)) (error-fun 'error) (wrap-block t)) + (unless (listp lambda-list) + (bad-type lambda-list 'list "~S lambda-list is not a list: ~S" + context lambda-list)) (multiple-value-bind (forms declarations documentation) (parse-body body :doc-string-allowed doc-string-allowed) (let ((*arg-tests* ()) @@ -321,8 +324,7 @@ :maximum ,explicit-maximum)))))) *arg-tests*)) (when key-seen - (let ((problem (gensym "KEY-PROBLEM-")) - (info (gensym "INFO-"))) + (with-unique-names (problem info) (push `(multiple-value-bind (,problem ,info) (verify-keywords ,rest-name ',keys