Hi again!
SLIME does start up, I get a lisp prompt and it seems to behave normally. However, the connection between SBCL and SLIME is rather shaky. At some point during working with SBCL, I lose the function parameter info, I also can't break running code then.
Without further context, it's hard to say what problem you are seeing. There are plenty of ways to screw things up :-) Not everything is SLIME's fault.
Well, I don't doubt that. And I tried to provide as much context as possible, but oh well...
If you can't interrupt running code, save the contents of the *slime-events* buffer. That's often useful for debugging SLIME.
I will as soon as SLIME/SBCL reaches that state again. Hasn't happened all day.
Even more, the function (quit) has no effect whatsoever, i.e. SBCL is not stopped, but I get a message "Evaluation aborted." CL-USER> (quit) ; Evaluation aborted. CL-USER>
I think that QUIT in SBCL terminates the current thread only, unless it is called in the initial thread. SLIME starts a new listener thread if the old was killed (that's sometimes nice, but sometimes not). The second prompt above is a bit irritating, because at that time there is no REPL thread, a new one is created for the next request.
Looking at the output below, this seems to be the case. The current thread is "repl-thread", if I type in (quit) it is killed and immediately replaced by "new-repl-thread". That is, either SLIME or SBCL (which I doubt) seems to catch and prevent this quit. BTW, in the new "repl-thread" everyting I defined before is known as well, i.e. all symbols, functions etc. are still defined. It is as if nothing happened.
(swank-backend:current-thread) #<SB-THREAD:THREAD "repl-thread" {A7ED6D1}> CL-USER> (swank-backend:all-threads) (#<SB-THREAD:THREAD "repl-thread" {A7ED6D1}> #<SB-THREAD:THREAD "reader-thread" {A7ED5F1}> #<SB-THREAD:THREAD "control-thread" {A7ED509}> #<SB-THREAD:THREAD "auto-flush-thread" {A7ED339}> #<SB-THREAD:THREAD "initial thread" {A6DD731}>) CL-USER> (quit) ; Evaluation aborted. CL-USER> (swank-backend:all-threads) (#<SB-THREAD:THREAD "new-repl-thread" {A96B239}> #<SB-THREAD:THREAD "reader-thread" {A7ED5F1}> #<SB-THREAD:THREAD "control-thread" {A7ED509}> #<SB-THREAD:THREAD "auto-flush-thread" {A7ED339}> #<SB-THREAD:THREAD "initial thread" {A6DD731}>) CL-USER>
That is, I can't just quit SBCL, I have to kill the lisp process when exiting Emacs.
You could try sb-int:unix-exit or the REPL shortcut `, quit' which is the same as `M-x slime-quit-lisp'.
unix-exit is in package sb-unix, but apart from that it works; ,quit as well. And (sb-ext:quit :recklessly-p t) as well. So, for quitting I just need to change my habbits, it seems :)
For SBCL/x86 we use threads by default. You could change that with with swank:*communication-style*, but the alternatives are usually worse.
Mmmh, considering that it works most of the time that doesn't sound like a great idea :)
Kai-Florian