[slime-devel] Re: It's not just me!

Hoehle, Joerg-Cyril Joerg-Cyril.Hoehle at t-systems.com
Thu Jul 7 10:11:17 UTC 2005

Helmut Eller wrote:
>I guess SIGINT is not the Windows way and something else should be
>used instead.
Indeed. I now launched clisp via clisp.exe which starts lisp.exe, and the same thing happened as when starting lisp.exe from within a M-x shell:

CLISP is not interruptible via signal-process that way. More precisely,
(signal-process (pid as reported by CLISP) 'SIGINT) returns -1 and does not stop CLISP.

The only thing that works reliably is
(signal-process (get-buffer-process ...) 'SIGINT)

I'm sure this would also affect other Lisps beside CLISP.

So I suggest the following, which maybe could work better:

o (at least on MS-Windows) signal the buffer/process that SLIME uses for communication with the Lisp, instead of the Lisp's PID. Obviously, Emacs goes into a lot of effort to make processes receive SIGINT there, even when started from within M-x shell, and there's no need to reproduce this effort in SLIME.

I have no idea what to do with a remote Lisp -- can SLIME stop those, in all communication-style configurations?
I have no idea how this this affects Lisps with threads and/or :spawn/:io/:fd-handler etc.

Given some more time, I'll start clisp in a console window, connect via socket
and see if/how ^C gets propagated.

	Jorg Hohle.

More information about the slime-devel mailing list