commit 213c0fcfc06d349b15ebebcb1cf34fd9c064034b
parent aecdddc985af9f318dd3c718689278d00c6061fe
Author: Bertrand BRUN <bertrand.brun@me.com>
Date: Mon, 1 Nov 2010 19:09:08 +0100
Correction d'une recursion infini dans le let*
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/implementation/divers.lisp b/implementation/divers.lisp
@@ -106,9 +106,11 @@
,(mapcar #'cdar bindings)))
(defmacro let* (bindings &rest body)
- `(let (,(car bindings))
- (let* ,(cdr bindings)
- ,body)))
+ (if (endp bindings)
+ body
+ `(let (,(car bindings))
+ (let* ,(cdr bindings)
+ ,body))))
(defmacro labels (f-bindings &rest body)
;; TODO