Ahoy,
I added some sugar on top of defgeneric/defmethod:
definterface defines the generic function. It keeps track of which ones have been defined, so they can be audited. It also can have body forms which become a NO-SUCH-METHOD default.
defimplementation defines the backend method. It updates the list of implemented interfaces.
swank-loader finishes by printing a list of all unimplemented interfaces. (A nod to Peter for suggesting this.)
I updated cmucl/sbcl/lispworks/openmcl. However, I wasn't able to test OpenMCL because of another incompatibility:
Read error between positions 12276 and 12727 in /Users/luke/slime/swank-openmcl.lisp.
Error in process listener(1): There is no package named "PPC32" .
Possibly because it's running on a 64-bit machine (G5)?
Updating the other backends should just be a matter of selective search-and-replace from defmethod to defimplementation. However, since it's the same thing under the hood, it still works without being updated.
Cheers, Luke