Closed ghost closed 8 years ago
There are certain incompatibilities between the CL spec for lambda-lists and parse-lambda-list, compile-destructuring-pattern.
parse-lambda-list
compile-destructuring-pattern
This patch fixes cases such as,
;;matches (list 1 2 3) M> (pattern-expand-1 `(lambda-list 1 2)) (LIST* 1 2 TRIVIA.LEVEL2.IMPL::_) ;;&rest can't appear before &optional M> (pattern-expand-1 `(lambda-list a &rest b &optional c)) (LIST* A (AND B TRIVIA.LEVEL2.IMPL::_)) ;;invalid pattern M> (pattern-expand-1 `(lambda-list a &aux (c 2) &rest d)) (LIST* A (GUARD1 #:G835 T 2 C))
Looks neat, thanks!
Sorry, I couldn't get to the tests before you.
no problem!
There are certain incompatibilities between the CL spec for lambda-lists and
parse-lambda-list
,compile-destructuring-pattern
.This patch fixes cases such as,