@@ -363,17 +363,18 @@ Reification
363363When a lazy object is first used, it needs to be reified. This means resolving
364364the import at that point in the program and replacing the lazy object with the
365365concrete one. Reification imports the module in the same way as it would have
366- been if it had been imported eagerly, barring intervening changes to the
367- import system (e.g. to ``sys.path ``, ``sys.meta_path ``, ``sys.path_hooks `` or
368- ``__import__ ``).
369-
370- Reification still calls ``__import__ `` to resolve the import. When the module
371- is first reified, it's removed from ``sys.lazy_modules `` (even if there are
372- still other unreified lazy references to it). When a package is reified and
373- submodules in the package were also previously lazily imported, those
374- submodules are *not * automatically reified but they *are * added to the reified
375- package's globals (unless the package already assigned something else to the
376- name of the submodule).
366+ been if it had been imported eagerly. Notably, reification still calls
367+ ``__import__ `` to resolve the import, which uses the state of the import system
368+ (e.g. ``sys.path ``, ``sys.meta_path ``, ``sys.path_hooks `` and ``__import__ ``)
369+ at **reification ** time, **not ** the state when the ``lazy import `` statement
370+ was evaluated.
371+
372+ When the module is first reified, it's removed from ``sys.lazy_modules `` (even
373+ if there are still other unreified lazy references to it). When a package is
374+ reified and submodules in the package were also previously lazily imported,
375+ those submodules are *not * automatically reified but they *are * added to the
376+ reified package's globals (unless the package already assigned something else
377+ to the name of the submodule).
377378
378379If reification fails (e.g., due to an ``ImportError ``), the exception is
379380enhanced with chaining to show both where the lazy import was defined and
0 commit comments