Mark H Weaver <m...@netris.org> writes:

> David Kastrup <d...@gnu.org> writes:
>
>> (define current-module
>>   (let ((top-level (the-environment)))
>>     (lambda () (eval '(the-environment) top-level))))
>
> Some more notes about the above code (changing `eval' ==> `local-eval'):
>
> * (local-eval '(the-environment) <environment>) is a no-op: it always
>   returns the same environment that was passed in, so there's no point
>   in doing it.

I think this was based on the "the current module is part of the
environment, but local-eval does not change (current-module)" mantra
which I interpreted in a confused manner.  The interesting thing is that
it is the _lexically_ current module that is part of the environment,
and inside of local-eval, this may well differ from the _actually_
current module as given by (current-module).

-- 
David Kastrup

Reply via email to