Sven Van Caekenberghe sven@beta9.be writes:
I think someone forgot the loop around the let in create-swank-server in swank-openmcl.lisp - without the loop you can only connect once and the socket is lost
That was intentional, since with `M-x slime' Emacs will call create-swank-server each time before connecting. Also partly because in the "old days" we used a fixed TCP port and to keep it open would mean only one Lisp could run Swank at a time.
Nowadays it sounds like a good idea to keep the server running, especially if CREATE-SWANK-SERVER is being called directly instead of by Emacs via *inferior-lisp*.
Also for all servers, I would suggest an option to restrict connections to localhost only, and even make that the default - in openmcl, the test is simply (= (remote-host client-socket) (local-host client-socket)) right after the accept
Yeah. This already happens in at least the CMUCL backend (by binding the socket on the loopback-interface). We should define a proper interface for CREATE-SWANK-SERVER in swank-backend.lisp that includes a "loopback only" option and implement it for the other backends.
Hands full just now consing onto TODO :-)
BTW, I think slime is very cool!
Most glad :-)
Cheers, Luke