[slime-devel] Tentative small refactoring stuff

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 -- http://web.metacircles.com/ - Open Source software development and support

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
participants (2)
-
Daniel Barlow
-
Luke Gorrie