On Thu, 2009-11-19 at 18:33 -0800, Kon Lovett wrote: > Features are converted to keywords. The colon suffix is just the > default read/print form; #:keyword is the context-independent form.
The manual needs to document this; right now, one might have thought they were ordinary symbols given every example and description in the manual. > 'cond-expand' uses a function that ensures the tested symbol is a > keyword, so 'foo' & '#:foo' are legal. > > That the expansion-environment of a 'syntax-rules' transformer doesn't > recognize 'cond-expand' is a different problem. (Note that 'syntax- > rules' in Chicken 3 is not a core expander.) So the bug is more or less that the self-evaluating nature of keywords doesn't work in the meta-environment for macro expansion, I assume. (Certainly that it goes differently in Chicken3+syntax-case is no mystery, since the old syntax-case egg needed to provide its own implementation of cond-expand anyway.) Thomas _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-hackers