[slime-devel] Using SLIME with ACL on Win2000

Bill_Clementson at peoplesoft.com Bill_Clementson at peoplesoft.com
Wed Mar 3 16:53:01 UTC 2004


Helmut Eller <e9626484 at stud3.tuwien.ac.at> writes:

> Bill_Clementson at 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







More information about the slime-devel mailing list