Fixed bug whereby ((lambda (x) x) 1 (f)) is unsyntaxed as (let ((x 1)) x).
authorStephen Adams <edu/mit/csail/zurich/adams>
Sat, 9 Mar 1996 15:39:42 +0000 (15:39 +0000)
committerStephen Adams <edu/mit/csail/zurich/adams>
Sat, 9 Mar 1996 15:39:42 +0000 (15:39 +0000)
v7/src/runtime/unsyn.scm

index 08bd60fce68ffe1b3c62b8ddbe77fe641c272098..4251fb71691e7bfe9ede264dd58217c5e16d6f92 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: unsyn.scm,v 14.18 1995/08/29 14:06:45 adams Exp $
+$Id: unsyn.scm,v 14.19 1996/03/09 15:39:42 adams Exp $
 
 Copyright (c) 1988-95 Massachusetts Institute of Technology
 
@@ -418,7 +418,8 @@ MIT in each case. |#
                (lambda-components** operator
                  (lambda (name required optional rest body)
                    (if (and (null? optional)
-                            (false? rest))
+                            (false? rest)
+                            (= (length required) (length operands)))
                        (cond ((or (eq? name lambda-tag:unnamed)
                                   (eq? name lambda-tag:let))
                               `(LET ,(unsyntax-let-bindings required operands)