> > ADD-IMPLICIT-BLOCK (in init.lisp) uses the environment given by *venv*
> > and *fenv*, whereas add_implicit_block() uses the environment of the
> > interpreter. Each uses what is more natural for each.
> so, one is for compiled and the other for the interpreted code, right?
No. One is for being invoked from the evaluator, one from the context of
the code walker in init.lisp.
> (this would require making *fenv* & *venv* available in C)
There are two reasons for not making *venv* and *fenv* available in C:
- Avoiding a crash when some mistaken user sets them to invalid
- Clearly decoupling the interpreter from the compiler and the code walker.