I'd like to add SLIME support for compiling entire (multi-file) systems, and am finding that each backend handles compilation slightly differently.
I believe I need to add a new function compile-system-for-emacs that looks not unlike compile-{file,string}-for-emacs : set up compiler condition hook stuff, then call (asdf:operate 'asdf:oop systemname)
You'd think I would be able to do that once instead of n times for n backends, but apparently not. I don't have n lisps installed nor the will to test them all either. So, I have (committage imminent)
- created a new GF call-with-compilation-hooks and a macro with-compilation-hooks that expands into a call to it
(It's implemented for SBCL and CMUCL, because they already have and use with-compilation-hooks)
- created a compile-system-for-emacs for SBCL which uses with-compilation-hooks. I believe the contents are portable CL and will work on any backend, if the maintainer of that backend has implemented call-with-compilation-hooks. If anyone is found copying compile-system-for-emacs into their own backend file and hacking it, they'd better have a good reason.
Let's not needlessly duplicate entities, hey?
-dan
Daniel Barlow dan@telent.net writes:
You'd think I would be able to do that once instead of n times for n backends, but apparently not. I don't have n lisps installed nor the will to test them all either. So, I have (committage imminent)
It's worth mentioning that I updated the FAIRLY-STABLE tag a few hours ago -- just so everyone knows :-)
By the way, there are also tags SLIME-0-1, ..., SLIME-0-9 for everywhere that FAIRLY-STABLE has been set in the past. So if it should ever happen that both HEAD and FAIRLY-STABLE don't work for you, you can use a recursive-backout algorithm to get back in business.
Cheers, Luke