Hi Alan,
Thanks for the report. Can you provide an explanation on how to reproduce it?
We recently made a change in the compiler to inline all lambda calls and local function calls which are declared to be inline; that may have something to do with your bug, does it ring a bell to you?
hth, Alessio
Yes, this seems to be related to the problem. If I don't let that happen, as such:
(defun rewrite-function-call (form) (let ((op (car form)) (args (cdr form))) (if (and nil (and (listp op) ; don't let this optimization happen (eq (car op) 'lambda))) (expand-function-call-inline form (cadr op) (cddr op) args) (if (unsafe-p args) ...
And the recompile the compiler macro and then recompile, the function compiles and operates correctly. I'll poke around a bit.
-Alan