Howdy,
I just checked in some incompatible changes to the backend interface. I've only updated the CMUCL backend so far, and I'm hoping to fix SBCL (and maybe LispWorks) this evening. Backend hackers please join in :-). The ChangeLog gives the gist, and diff'ing swank-cmucl.lisp against FAIRLY-STABLE will show how the CMUCL backend was updated.
Everyone else might want to stick to FAIRLY-STABLE (just updated) for a day or two 'til the dust settles.
The basic change is to move most of the protocol logic into portable code. Now the backends provide a generic callback-based TCP server interface which is used by swank.lisp to implement the basic protocol, parts of I/O redirection, and the dedicated output channel. Hopefully it also buys enough generality that multithreading experiments can go forward without breaking backends again.
It should be mostly a matter of deleting code and adapting what remains. The new interfaces are documented in swank-backend.lisp.
Questions & flames welcome :-)
Cheers, Luke