Changed let to not introduce any extra variables (for parallel
authorVladimir Sedach <vsedach@gmail.com>
Tue, 3 Feb 2009 01:14:32 +0000 (18:14 -0700)
committerVladimir Sedach <vsedach@gmail.com>
Tue, 3 Feb 2009 01:14:32 +0000 (18:14 -0700)
binding) when only one variable is being bound.

src/special-forms.lisp

index ab4084e..e525e8e 100644 (file)
@@ -608,7 +608,7 @@ lambda-list::=
   `(simple-let* ,bindings ,@body))
 
 (defpsmacro let (bindings &body body)
-  `(simple-let ,bindings ,@body))
+  `(,(if (= 1 (length bindings)) 'simple-let* 'simple-let) ,bindings ,@body))
 
 (define-ps-special-form let1 (expecting binding &rest body)
   (ecase expecting