[slime-devel] Question about Slime & SBCL on Windows

Anton Kovalenko anton at sw4me.com
Mon Aug 22 17:06:00 UTC 2011


Scott Turner <srt19170 at gmail.com> writes:

> I'm currently using SLIME & SBCL (SBCL 1.0.50.24.mswinmt.876-cad5ed2
> -- Kovalenko's Windows port).  When I hit C-c C-c to interrupt, my
> Lisp dies and I have to kill Slime and restart.  Am I doing something
> wrong, or is interrupt just not supported on SBCL?

Ensure you use the :spawn communication style -- e.g. by loading swank
and setting swank:*communication-style* to :spawn in your .sbclrc.
(The real culprit is (slime-use-sigint-for-interrupt) in SLIME).

Interrupts in general are supported; when swank is using multiple
threads (with :spawn style), C-c C-c from Emacs will be handled by the
control thread, which will interrupt the REPL thread.

Control-C handler for raw REPL is not installed: though it's possible,
I have some semantic difficulties about what it should do. There was
once a discussion here -- you may look it up if interested.

As of what stands for "SIGINT" in Emacs for Windows, I didn't look into
it, but it's either a GenerateConsoleCtrlEvent (thing like raw
Control-C), or maybe even something more harsh like
TerminateProcess. Thus you really need a :SPAWN style for swank to make
interrupts work.

-- 
Regards, Anton Kovalenko
+7(916)345-34-02 | Elektrostal' MO, Russia




More information about the slime-devel mailing list