* Vyacheslav Akhmechet [2008-03-26 18:36+0100] writes:
Hello,
I'm using Slime on PPC OS X with ClozureCL and Carbon Emacs 22. I've been running into the following issue for a long time with different versions of above software, and it finally itches enough to ask.
When I encounter errors with ClozureCL, I normally just press "q" to leave the debugger. This works with Slime and other Lisp implementations, however on the above setup it occassionally kills the connection with Lisp. It doesn't happen for all errors, though. I am wondering if Slime picks the wrong restart, or if there is another issue.
It's unlikely that q picks the wrong restart. The restart is stored in the global variable *sldb-quit-restart* with something like this:
(loop (with-simple-restart (abort "Return to SLIME's top level.") (let ((*sldb-quit-restart* (find-restart 'abort))) ...)))
And q essentially does:
(let ((restart (find-restart *sldb-quit-restart*))) (cond (restart (invoke-restart restart)) (t (error ...))))
This look quite robust to me. The problem is probably some caused by some other issue.
Helmut.