[slime-devel] Re: :new-features command
Dan Weinreb
dlw at itasoftware.com
Mon Nov 6 13:19:22 UTC 2006
On Mon, 2006-11-06 at 10:37 +0100, Helmut Eller wrote:
> * 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.
"Intern" is a classic old-world Lisp verb, from the Maclisp
function "INTERN". It's a (setf (gethash ...) ...) for
strings/symbols and a package. So INTERNing FOO::BAR
means to look up BAR in the FOO package, and if it
is not found, create a BAR, and in either case return BAR.
> 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.
>
>
> _______________________________________________
> slime-devel site list
> slime-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/slime-devel
>
>
More information about the slime-devel
mailing list