I've just recently tried out SLIME on Windows and think it's really neat. (I posted a comment on my weblog a few days ago at: http://home.comcast.net/~bc19191/blog/040229.html )
I initially played around with CLISP and SLIME but have recently started using SLIME with ACL under W2K. I'm impressed by how much functionality you guys have delivered in the last few months.
I have 2 questions:
1. How do most people who are using ACL with Windows connect? I have the following in my .emacs file so that I kick off ACL and start SLIME by pressing "F5":
(global-set-key [(f5)] '(lambda () (interactive) (shell-command "c:/bin/acl-6.2/alisp.exe +B +cm -L ~/.slime.lisp&") (delete-other-windows) (slime-connect "localhost" 4005)))
(the slime.lisp file that I load automatically has the following 2 lines in it:
(load "c:/usr/home/site/slime/swank-loader.lisp") (swank::create-swank-server 4005)
Is this typical or is there some better approach?
2. When I kill SLIME in Emacs (but don't kill the ACL process), I thought that I would be able to re-connect to the ACL process by just running slime-connect again. However, this doesn't work. The message I get in Emacs (regardless of whether I answer the "close network connection" message with yes or no) is: "open-network-stream: make client process failed: connection refused, :name, SLIME Lisp, :buffer, nil, :host, localhost, :service, 4005"
The ACL listener shows the following: ;; Connection to Emacs lost. ; Fast loading c:\bin\acl-6.2\code\acldns.005 ;;; Installing acldns patch, version 5 ;; [eof encountered on stream #<MULTIVALENT stream socket connected from localhost/4005 to localhost/2303 @ #x204df1a2>]
Is there some alternative way to connect to an already started lisp process or am I just doing something wrong?
Thanks, Bill Clementson
Bill_Clementson@peoplesoft.com writes:
I've just recently tried out SLIME on Windows and think it's really neat. (I posted a comment on my weblog a few days ago at: http://home.comcast.net/~bc19191/blog/040229.html )
Thank you for the kind words in the article. We should probably make a link from our Cliki pages.
[snip]
(load "c:/usr/home/site/slime/swank-loader.lisp") (swank::create-swank-server 4005)
Is this typical or is there some better approach?
The normal way to start Lisp is M-x slime. Is there a reason you can't use that?
[snip]
Is there some alternative way to connect to an already started lisp process or am I just doing something wrong?
We used to close the server socket when the connection was established. The latest version has a DONT-CLOSE argument and you should now be able to reconnect if you start it with:
(swank:create-swank-server 4005 :spawn #'swank::simple-announce-function t)
[I will probably switch to keyword arguments in the future or add a new function]
And in case it wasn't obvious, there should never be a need to disconnect. That would be is a bug and I'd like hear about it.
Helmut.