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

Mark H. David mhd at yv.org
Mon Nov 28 21:18:06 UTC 2011

I'm just using reasonably recent SLIME and SBCL.  Ctrl+c doesn't work.
I can only use SBCL for limited trying out things, not for most of my development.
Is there no way to get this just to be the default in the regular version of SBCL,
and with default SLIME settings?  Any news on that front?

----- Original message -----
From: "Anton Kovalenko" <anton at sw4me.com>
To: slime-devel at common-lisp.net
Date: Mon, 22 Aug 2011 21:06:00 +0400
Subject: Re: [slime-devel] Question about Slime & SBCL on Windows

Scott Turner <srt19170 at gmail.com> writes:

> I'm currently using SLIME & SBCL (SBCL
> -- 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

slime-devel site list
slime-devel at common-lisp.net

More information about the slime-devel mailing list