[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