[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.
Regards,
Jorg Hohle.
More information about the slime-devel
mailing list