Hi, all.
The first attachment is a fix for BUG 156 (FUNCTION-LAMBDA-EXPRESSION
not working for defuns at the REPL). As you can see from the fact that
the patch is 2 lines of code and 20 lines of comment explaining why this
is a really bad patch, I'm not happy with it.
However, BUG 156 was preventing me from checking in the second attached
patch, which allows inlining of functions defined inside MACROLET (the
logic, copied from CMUCL's version, uses FUNCTION-LAMBDA-EXPRESSION
internally), so I present it for approval (or not) anyway, in the vague
hope that someone who has a clearer idea of how %COMPILE and friends
ought to work can at least see what the problem is...
Health warning: because of my current geographical location, I have not
tried building exactly this patch, as I have applied it by hand. I have
performed basic sanity checks, but the version on my laptop has (a) been
built and (b) contains a new file to live in tests/ to test this kind of
thing. However, I figure that maybe by the time my laptop regains its
connectivity you eager beavers will have unKLUDGEd my fix, anyway :)
Cheers,
Christophe
--
Jesus College, Cambridge, CB5 8BL +44 1223 510 299
http://www-jcsu.jesus.cam.ac.uk/~csr21/ (defun pling-dollar
(str schar arg) (first (last +))) (make-dispatch-macro-character #\! t)
(set-dispatch-macro-character #\! #\$ #'pling-dollar)