Julian Stecklina der_julian@web.de writes:
what features would be required of a Common Lisp system to actually support a (minimally) usable SLIME ?
First, the Lisp system should be complete enough to actually compile the code in swank.lisp. That may sound trivial, but, e.g., ECL cannot. Also GCL has apparently incomplete readtables, so that some tests must be disabled before the fasl file can be loaded.
Second, support for server sockets and the ability to turn client sockets into streams. This is a must.
At this point it's usually possible to connect to the Lisp and to do simple evaluations. Symbol completion is also works very early.
For a little debugging comfort you have a implement a way to produce a backtrace. The backtrace could be empty, but debugging without backtrace is no fun.
I'd say this is about the minimal support needed. The rest can be added incrementally.
If you want to use the REPL, you have to implement streams to redirect the output to Emacs. If the implementation supports Gray streams you can use the code in swank-gray.lisp. You have to disable output redirection until the streams are implemented and the output will show up the *inferior-lisp* buffer.
A good M-. (find-definitions) implementation is IMO the most important feature for real work.
Helmut.