@@ -111,7 +111,12 @@ def load_source(name, pathname, file=None):
111111 'importlib.machinery.SourceFileLoader(name, pathname).load_module()'
112112 ' instead' )
113113 warnings .warn (msg , DeprecationWarning , 2 )
114- return _LoadSourceCompatibility (name , pathname , file ).load_module (name )
114+ _LoadSourceCompatibility (name , pathname , file ).load_module (name )
115+ module = sys .modules [name ]
116+ # To allow reloading to potentially work, use a non-hacked loader which
117+ # won't rely on a now-closed file object.
118+ module .__loader__ = _bootstrap .SourceFileLoader (name , pathname )
119+ return module
115120
116121
117122class _LoadCompiledCompatibility (_HackedGetData ,
@@ -125,7 +130,12 @@ def load_compiled(name, pathname, file=None):
125130 'importlib.machinery.SourcelessFileLoader(name, pathname).'
126131 'load_module() instead ' )
127132 warnings .warn (msg , DeprecationWarning , 2 )
128- return _LoadCompiledCompatibility (name , pathname , file ).load_module (name )
133+ _LoadCompiledCompatibility (name , pathname , file ).load_module (name )
134+ module = sys .modules [name ]
135+ # To allow reloading to potentially work, use a non-hacked loader which
136+ # won't rely on a now-closed file object.
137+ module .__loader__ = _bootstrap .SourcelessFileLoader (name , pathname )
138+ return module
129139
130140
131141def load_package (name , path ):
0 commit comments