Peter Seibel peter@javamonkey.com writes:
Are you planning to make it possible to debug multiple threads simultaneously--I.e. it might be nice to set break points in two places that will be hit be different threads and then debug them both at the same time (in two different debugging buffers); for example step a little way in one thread, then switch to the other; etc.
Not initially. Is that something you need?
This is slightly tricky in SLIME because we support a synchronous evaluation interface in Emacs Lisp. In Elisp you can write:
(slime-eval '(swank:some-function))
And it will evaluate the form in Lisp and then return the result. However, it might enter the debugger before it finishes, in which case Emacs enters a "recursive edit" to do the debugging without unwinding the Elisp stack (so that when you finish debugging it can return the final result to the `slime-eval' call). If during debugging you switched over to another thread and did another `slime-eval' there, the stack would end up rather tangled -- you have two `slime-eval's on the stack and have to return to one before the other.
A few possible solutions come to mind, but I think it will be better to burn this bridge when we come to it and do some experimentation. Ideas are always welcome, of course.
Cheers, Luke