[slime-devel] Sldb behavior in lieu of multiple threads

Tobias C. Rittweiler tcr at freebits.de
Wed Feb 3 13:20:06 UTC 2010


I'm currently testing some multi-threading code, and sldb's behavior is
pretty annoying in the following way:

  Thread A is culprit of some error. It invokes the debugger. 
  SLDB pops up. 

  Threads B,C etc. will also slide into an error condition because of
  A's failure. However that will happen peu a peu with some delay.

The result is that every few tenths of a second, a new SLDB buffer pops
up for B,C, etc. with annoying consequences: a) input focus is stolen,
b) window layout is changed, c) the interesting sldb buffer showing A's
failure is shadowed all the time. So to do anything, you pretty much
have to wait until some kind of equilibrium.

Ideally, I think what I'd like, is if Emacs windows had tabs, and the
failures in B,C, etc. would just register a new tab (without selecting
it). So there's only one SLDB per connection, but the sldb buffer
contains multiple thread debugging states.

Now that does not seem to be possible with Emacs.

Can anyone think of a satisfiable alternative behavior?

How does Allegro's IDE / Lispworks' IDE handle this?



More information about the slime-devel mailing list