[slime-devel] Several *inferior-lisp* buffers?

Helmut Eller e9626484 at stud3.tuwien.ac.at
Fri Dec 5 08:09:47 UTC 2003


"Håkon Alstadheim" <haalst at online.no> writes:

> I'm currently using a setup where i usually run at least two instances
> of cmucl under ilisp. Ilisp handles this very cleanly using DEFDIALECT
> in elisp. Anybody got any tips on that? How does the *slime-repl* like
> it if I try to switch it from one *inferior-lisp* buffer to another?
> Should I try to rename the *slime-repl* buffer ? (Just tried that, and
> the *slime-repl-1* seems to have died. If it's only one or two more
> variables that need to be made buffer-local, I can handle that.

Slime is currently not prepared for such a setup.  Renaming the
buffers will not help, because there are various places where we
access buffers like *slime-repl* or *sldb* by name.  Also, there is
currently no support for parsing the output of multiple TCP
connections at the same time.

You could start the two CMUCL instances manually (or at least the
second) and give their swank servers different port numbers.  Then you
could connect/disconnect to the instance you want to work with.  [You
probably have to modify swank-cmucl.lisp a bit, so that the server
socket gets not closed after the first connection.]

> Should I try to make slime handle only *inferior-lisp* and the source
> files that go with that image, and then let ilisp handle the other
> image and the files that go with /that/ ?

Hmm... sounds complicated.  Mixing Slime with ILisp will probably not
work very well.

> I guess this will mean some hacking, so this will be my first priority
> in getting comfy with slime, I'll try to get used to the keybindings.
> :-)

Why do you need two CMUCL instances?  Adding nice support for multiple
simultaneous connections, with separate debugger and separate
listener, is probably quite a bit of work.  You could try to replace
the globals variables we have now with buffer local variables (in the
*cl-connection* buffer) or pack all per connection state in a structure
and place this structure in a buffer local variable.

Helmut.




More information about the slime-devel mailing list