About a month ago, as I was thinking about building a comprehensive development environment for Scheme (& Scheme48 in particular), akin to SLIME, the notion occurred to me that Scheme48 might actually provide the necessary facilities for a realistic Swank back end (as compared to the mostly toy back end Helmut Eller sent here a while ago). So I started working on it a bit in small increments, and pretty soon Emacs was successfully talking to it over TCP to evaluate simple REPL expressions. Last week I implemented SLDB support, after rewriting it from scratch once my initial prototype worked; I spent the whole weekend fixing a really obscure bug involving threads, continuations, & DYNAMIC-WIND; and just today I've gotten it into an almost usable state for REPL work (though not file & module loading & such yet).
Currently, I'm not using any source control yet, and I haven't released the code anywhere, but Marco Baringer and several others recommended that I simply add the Scheme48 back end to the main SLIME CVS source repository. If everyone relevant would be OK with this, I'd like to do it, but I see one potential problem with it, assuming that no one would object to including Scheme code in SLIME: I've organized my Scheme48 back end into about a dozen different files, which is pretty different from the existing organization of SLIME code (one monolithic file for the Emacs side; one monolithic file for the bulk of the CL side; one monolithic file for each back end). Would this bother anyone?
(I intend, by the way, not to change the Emacs side of SLIME to add anything Scheme-specific; if anything, I'd want only to make slime.el work better with both Scheme & CL -- e.g., Marco Baringer just kindly committed a change I suggested that makes the definition locator code look for definitions where a sequence of parentheses might precede the name being defined, such as in (DEFINE (FOO X) ...) to define FOO in Scheme, or (DEFSTRUCT (BAR ...) ...) to define a BAR structure in CL. There are a few other minor changes like these that would be convenient for Scheme48's back end, but which would not get in the way of the CL back ends, too.)
Obligatorily, here's some SLIME48 porn, by the way:
http://www.bloodandcoffee.net/campbell/slime48-sldb-porn.png
(The CL-USER prompt and the mention of a COMMON-LISP-USER package are due to slime.el's hard-coded initial package of COMMON-LISP-USER -- another small change I'd like to make is to allow customization of the initial package. (The temporary solution was for me just to define a COMMON-LISP-USER package in Scheme48, of course.))