* Brad Beveridge [2006-11-06 08:29+0100] writes:
SBCL's reader barfs on the symbol CFFI-FEATURES:DARWIN, because the host side doesn't have have the package CFFI-FEATURES. Which is fair enough. I'm guessing that the Emacs interpreter doesn't bother resolving the symbols, so there is no problem. Later on Slime prefixes ":" in front of the non-keyword symbols, presumably to make them into keyword symbols.
I think, Slime only adds the ":" when it parses features expressions in source buffers, not for the message from the wire.
Am I understanding this correctly?
Yes. By convention, messages on the wire should only contain keywords, nil, and t. But this convention isn't enforced, and the :new-features message obviously violates the convention.
Is it possible to move the keyword interning to the Swank side? If so, I'll try to write a patch for that.
I'm not sure what you mean with "interning" here. Instead of including the symbols in the message we could send a string [e.g. created with (let ((*package* <keyword-package>)) (prin1-to-string <new-features>))].
Are thinking about something else?
Helmut.