Greetings,
I've about finished merging my latest OpenMCL code with Slime CVS. However, the code that compiles the sys-dependent backend in an EVAL-WHEN in swank.lisp does not work in OpenMCL. (As I understand the problem, all the DEFMACROs and DEFVARs would need to have EVAL-WHENs around them as well...)
Following Dan's suggestion in IRC I started on a loader that the Emacs Lisp calls to compile and load the backend---I've put it up at http://jamesjb.com/slime/swank-loader.lisp for comments.
One thing we lose if we do it this way is the ability to give the user the nice "recompile swank?" prompt---we could instead have the elisp compile each of the backend files but then we cannot automagically figure the right backend based on *FEATURES*.
(I tried to test the loader under MacOS X SBCL but Swank doesn't seem to run in my build of 0.8.4., thus only tested in OpenMCL).
Speaking of testing, a few trivial runs of the unit tests with the OpenMCL backend resulted in 255 failures---after glancing at the code it looks like it would need a fair bit of work to port.
In particular it doesn't seem to deal very well with unimplemented slimefuns---perhaps we need a better way to say 'this function is unimplemented' besides dumping the user into the debugger?
James
James Bielman jamesjb@jamesjb.com writes:
Following Dan's suggestion in IRC I started on a loader that the Emacs Lisp calls to compile and load the backend---I've put it up at http://jamesjb.com/slime/swank-loader.lisp for comments.
Let's do it.
Speaking of testing, a few trivial runs of the unit tests with the OpenMCL backend resulted in 255 failures---after glancing at the code it looks like it would need a fair bit of work to port.
Ahem, that's probably just my crappy scripts. I used unix exit code to report the number of failed cases, but of course other sorts of errors can override my number. When in doubt, run M-x slime-run-tests interactively.
There's a bug in the interactive testing too though -- it reports the number of successful tests with the number of failed _cases_, so it might say "Failed 100/10 tests". Will fix :-)
-Luke