Use lambda-components* and lambda-bound rather than lambda-components.
authorJoe Marshall <eval.apply@gmail.com>
Thu, 9 Feb 2012 04:39:26 +0000 (20:39 -0800)
committerJoe Marshall <eval.apply@gmail.com>
Thu, 9 Feb 2012 04:39:26 +0000 (20:39 -0800)
src/runtime/xeval.scm

index a9e664cb4840aabd83ddba5447f3ef9b379b257e..4fe2ae9ed6cfb612b85f298c4921152c2307756a 100644 (file)
@@ -149,17 +149,14 @@ USA.
        (make-assignment name value))))
 
 (define (rewrite/lambda expression environment bound-names)
-  (lambda-components expression
-    (lambda (name required optional rest auxiliary declarations body)
-      (make-lambda
-       name required optional rest auxiliary declarations
+  (lambda-components* expression
+    (lambda (name required optional rest body)
+      (make-lambda*
+       name required optional rest
        (rewrite/expression body
                           environment
                           (difference bound-names
-                                      (append required
-                                              optional
-                                              auxiliary
-                                              (if rest (list rest) '()))))))))
+                                      (lambda-bound expression)))))))
 
 (define (rewrite/the-environment expression environment bound-names)
   expression environment bound-names