fix let walking (with zero bindings?)
Sat Apr 4 13:25:42 PDT 2009 attila.lendvai@gmail.com
* fix let walking (with zero bindings?)
Warning: CRC errors found. These are probably harmless but should be repaired.
See 'darcs gzcrcs --help' for more information.
diff -rN -u old-cl-walker/src/handlers.lisp new-cl-walker/src/handlers.lisp
--- old-cl-walker/src/handlers.lisp 2014-07-30 12:15:11.000000000 -0700
+++ new-cl-walker/src/handlers.lisp 2014-07-30 12:15:11.000000000 -0700
@@ -205,10 +205,11 @@
(defwalker-handler let (form parent env)
(with-form-object (let 'let-form parent)
(setf (bindings-of let) (mapcar (lambda (binding)
- (with-current-form binding
- (destructuring-bind (var &optional initial-value)
- (ensure-list binding)
- (cons var (walk-form initial-value let env)))))
+ (when binding
+ (with-current-form binding
+ (destructuring-bind (var &optional initial-value)
+ (ensure-list binding)
+ (cons var (walk-form initial-value let env))))))
(second form)))
(multiple-value-bind (b e d declarations)
(split-body (cddr form) env :parent let :declare t)