"HÃ¥kon Alstadheim" haalst@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.