fix something with a kludge, comment added
Fri Jul 17 10:59:03 PDT 2009 attila.lendvai@gmail.com
* fix something with a kludge, comment added
diff -rN -u old-cl-walker/src/infrastructure.lisp new-cl-walker/src/infrastructure.lisp
--- old-cl-walker/src/infrastructure.lisp 2014-07-23 11:10:28.000000000 -0700
+++ new-cl-walker/src/infrastructure.lisp 2014-07-23 11:10:28.000000000 -0700
@@ -432,7 +432,10 @@
;; augment the lexenv with the macro's variables, so
;; that we don't get free variable warnings while
;; walking the body of the macro.
- (augment-lexenv! :variable variable lexenv)))
+ (when (symbolp variable)
+ ;; TODO protect against brokenness, see TEST/MACRO/1
+ ;; it does not handle destructuring bind, which is available for macro lambda args
+ (augment-lexenv! :variable variable lexenv))))
(mapcar (lambda (form)
(macroexpand-all form lexenv))
body))))))))