[slime-devel] Re: Problem with Swank and SBCL Unicode support?

Ben Hyde bhyde at pobox.com
Wed Dec 29 19:11:23 UTC 2004


On Dec 29, 2004, at 1:33 PM, Christophe Rhodes wrote:
> Dave Roberts <ldave at droberts.com> writes:
>
>> On Tue, 2004-12-21 at 12:46 -0800, Dave Roberts wrote:
>>> Was playing around with TRIVIAL-SOCKETS on SBCL 0.8.17.24.
>>
>> I should have also reported that this was with SLIME CVS from today,
>> reporting "; SLIME 2004-12-16" upon startup.

That crash, on the Lisp side, appears to be a type error upon stuffing 
a unicode
char down the throat of stream that's not unicode.   You can create 
something
that appears identical by doing (char-code #x2222) in the REPL; while 
(progn
(char-code #x2222) nil) doesn't do it.   It then goes into a tail spin 
reporting the
error (along with the unicode char) on the very same output stream.

On the slime side it just doesn't deal well with the stack exhaustion 
that happens
over on the Lisp side.   "Doesn't deal well" is sufficiently severe 
that I need to restart
emacs to get it working again; all the various reset, restart, abort 
combinations
attempt to launch a fresh lisp but they never get past the connection 
handshake.

> My guess: you're running in a Unicode locale, and are expecting
> high-bits to be communicated properly between emacs and sbcl.  This is
> possible, but is not the default: you need to set
> slime-net-coding-system to utf-8-unix before starting slime/swank.
>
> I have had this work for me at least once :)

Running SBCL & slime CVS head of a 5 days ago; via a mule enabled 
xemacs 21.5 beta 18 setting
utf-8-unix is working dependably for me.    Many other combinations 
didn't work.

To first order the trick is getting lots of things just right.  The 
Lisp needs to be unicode aware.   Lisp side streams
to have :utf-8 for their external format, use (stream-external-format 
*standard-output*) to check that.  The emacs
needs to be unicode capable, i.e. mule.  Then you need unicode fonts, 
i.e. gnu intl fonts.  I wasn't able to get
Mac font support working; since the charsets don't align - there are 
big5 fonts for example but no unicode fonts.
For that reason I'm using X for my window manager.

I've not tried the new released version of SBCL yet.

  - ben

ps. Thanks to all for their hard work on this stuff!




More information about the slime-devel mailing list