WALKER question
Hi!
Consider the following example:
(defmacro test-env ((var) &body body &environment env)
(format *trace-output* "~&env: ~:W" env)
(format *trace-output* "~&lexical: ~S" (walker:variable-lexical-p var env))
(format *trace-output* "~&env-lexicals: ~S"
(walker::env-lexical-variables env))
`(progn ,@body))
and
CL-USER 13 > (let ((x 500))
(test-env (x)
(+ x 2)))
env: #S(LEXICAL::ENVIRONMENT LEXICAL::VARIABLES ((X . #:X))
LEXICAL::FUNCTIONS NIL
LEXICAL::REMOTE-ENVIRONMENT NIL)
lexical: NIL
env-lexicals: NIL
502
So, the binding of X is apparently contained in ENV but
walker:variable-lexical-p doesn't find it. Is this a bug? Or what am
I missing?
Regards,
--
Nils Gösche
"Don't ask for whom the <CTRL-G> tolls."
PGP key ID 0x0655CFA0