Luke Gorrie luke@bluetail.com writes:
Peter Seibel peter@javamonkey.com writes:
So I was checking out whether multi-threaded debugging in Allegro worked and did this:
CL-USER> (mp:process-run-function "foo" #'(lambda () (break)))
One time it seemed to have opened up an SLDB buffer to debug the thread which I didn't notice at first and found later. But I just tried it again from a freshly started SLIME and it didn't go into SLDB.
The workaround is to put this line in ~/.swank.lisp:
(setq *debugger-hook* #'swank:swank-debugger-hook)
I'm still thinking about the right fix. The problem is that the new thread is not inheriting our *DEBUGGER-HOOK* so it doesn't know to debug with SLDB.
Okay so I did that and it does pop up SLDB. But another problem seems to have to do with the standard streams--stuff I print from other threads shows up in *inferior-lisp* but nowhere else, that I know of. I guess by default I'd expect it to come out in the REPL window. Though it'd be nice to have a way to give a thread its own buffer for *standard-output*, *standard-input*, *query-io*, etc.
-Peter