Fix bug with use of lambda instead of #%plain-lambda.

svn: r8373
This commit is contained in:
Sam Tobin-Hochstadt 2008-01-20 14:37:47 +00:00
parent f951cac011
commit 6018c35cc8

View File

@ -63,12 +63,12 @@
free))]
[(case-lambda [formals expr ...] ...)
(merge (map free-vars (syntax->list
#'((lambda formals expr ...) ...))))]
#'((#%plain-lambda formals expr ...) ...))))]
[(let-values ([(id ...) rhs] ...) expr ...)
(merge (cons (free-vars #'(lambda (id ... ...) expr ...))
(merge (cons (free-vars #'(#%plain-lambda (id ... ...) expr ...))
(map free-vars (syntax->list #'(rhs ...)))))]
[(letrec-values ([(id ...) rhs] ...) expr ...)
(free-vars #'(lambda (id ... ...) rhs ... expr ...))]
(free-vars #'(#%plain-lambda (id ... ...) rhs ... expr ...))]
[(_ expr ...)
;; if, begin, begin0, set!, #%app, #%variable-reference, with-continuation-mark
(merge (map free-vars (syntax->list #'(expr ...))))]))