From Joe Marshall:
I found a bug in `scan-fn-opt' that caused an unbound variable
when the initialization thunk in scan-fn refers to a lexical
variable, and there is a test function.
The existing code calls `handle-fn-call' to invoke the thunks
for scanning. handle-fn-call keeps track of free variable references.
When calling it the last time, you pass in T as the last argument.
In the case where there was a test expression, however, the
order of calling handle-fn-call changes making the *second* to last
call have the T argument, rather than the last. By re-ordering the
way scan-fn-opt expands the thunks, this is fixed.
Loading
Please sign in to comment