Helmut Eller e9626484@stud3.tuwien.ac.at writes:
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.
That's fine with me.
[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?
The lisp executable needs to be a WIN32 console application in order to be launched from an Emacs inferior lisp process. The ACL Trial edition executables under MS Windows are WIN32 Windows applications and can not be launched from an inferior lisp in Emacs. Franz also ship a build.exe with their regular product (but not the trial edition) - this is a WIN32 console application but there are issues with multiprocessing support with this executable and it is really only shipped (IMO) for legacy support reasons. Therefore, regardless of whether you use the ACL trial or the ACL commercial product under Windows, it is preferable to use the Windows application version of the executable. That is why I manually launch alisp.exe and load the .slime.lisp file to start up swank.
[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]
Neat - my version of SLIME was ancient (3 days :-) old) so I didn't have that functionality. However, I've downloaded the latest CVS version and it works perfectly!
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.
If I have a long-running process, it is nice to be able to exit Emacs and re-connect to a running lisp.
I have another question: I see that you can create multiple SLIME repl's to the same lisp by just manually connecting on different sockets. However, if I open 2 connections, all output (whether from repl[1] or repl[2] goes to repl[2]. Presumably both repl's are using *standard-output* and this is why the output from both goes to the same emacs buffer. Is this a bug or is there a specific command that I should be using for creating a second repl or is there something that needs to be specified manually so that output from each repl is directed to the correct buffer? A side effect of this is that once you evaluate something in repl[1] and the output is sent to repl[2], the prompt disappears from repl[1]. You can still enter expressions and evaluate them; however, you no longer have the prompt.
- Bill