diff -r 31c8b57f1197 Doc/library/functions.rst --- a/Doc/library/functions.rst Tue Apr 14 10:18:46 2015 -0400 +++ b/Doc/library/functions.rst Tue Apr 14 16:55:33 2015 -0400 @@ -1179,10 +1179,11 @@ There are a number of other caveats: If a module is syntactically correct but its initialization fails, the first - :keyword:`import` statement for it does not bind its name locally, but does - store a (partially initialized) module object in ``sys.modules``. To reload the - module you must first :keyword:`import` it again (this will bind the name to the - partially initialized module object) before you can :func:`reload` it. + :keyword:`import` statement for the module does not bind its name locally, + but stores a (partially initialized) module object in ``sys.modules``. To + reload the module you must first :keyword:`import` it again (this will bind + the name to the partially initialized module object) before you can + :func:`reload` it. When a module is reloaded, its dictionary (containing the module's global variables) is retained. Redefinitions of names will override the old @@ -1197,10 +1198,11 @@ except NameError: cache = {} - It is legal though generally not very useful to reload built-in or dynamically - loaded modules, except for :mod:`sys`, :mod:`__main__` and :mod:`__builtin__`. - In many cases, however, extension modules are not designed to be initialized - more than once, and may fail in arbitrary ways when reloaded. + It is generally not very useful to reload built-in or dynamically loaded + modules. Reloading :mod:`sys`, :mod:`__main__`, :mod:`builtins` and other + key modules is not recommended. In many cases extension modules are not + designed to be initialized more than once, and may fail in arbitrary ways + when reloaded. If a module imports objects from another module using :keyword:`from` ... :keyword:`import` ..., calling :func:`reload` for the other module does not