Kaydet (Commit) b65e85cb authored tarafından Guido van Rossum's avatar Guido van Rossum

Fix problem discovered by Greg McFarlane: when an imported module

replaces its own entry in sys.module, reference count errors ensue;
even if there is no reference count problem, it would be preferable
for the import to yield the new thing in sys.modules anyway (if only
because that's what later imports will yield).  This opens the road to
an official hack to implement a __getattr__ like feature for modules:
stick an instance in sys.modules[__name__].
üst e6648967
......@@ -182,6 +182,13 @@ PyImport_ExecCodeModule(name, co)
if (v == NULL)
return NULL;
Py_DECREF(v);
if ((m = PyDict_GetItemString(_PyImport_Modules, name)) == NULL) {
PyErr_SetString(PyExc_SystemError,
"loaded module not found in sys.modules");
return NULL;
}
Py_INCREF(m);
return m;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment