Set ImportError.name when raising the exception in the case of None

found in sys.modules.
This commit is contained in:
Brett Cannon 2012-04-15 14:15:31 -04:00
parent da4210f77d
commit 27fc52877c

View file

@ -2980,8 +2980,11 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals,
mod = PyDict_GetItem(interp->modules, abs_name);
if (mod == Py_None) {
PyErr_Format(PyExc_ImportError,
"import of %R halted; None in sys.modules", abs_name);
PyObject *msg = PyUnicode_FromFormat("import of %R halted; "
"None in sys.modules", abs_name);
if (msg != NULL) {
PyErr_SetFromImportErrorWithName(msg, abs_name);
}
goto error_with_unlock;
}
else if (mod != NULL) {