diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2017-07-12 03:50:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-12 03:50:03 (GMT) |
commit | 8a9cd20edca7d01b68292036029ae3735ce65edd (patch) | |
tree | f4df7b29b7d32eb5a860e325f2114beea561e57b /Python/import.c | |
parent | 6d13b22e3ab262c6b1f068259aebd705e7da316c (diff) | |
download | cpython-8a9cd20edca7d01b68292036029ae3735ce65edd.zip cpython-8a9cd20edca7d01b68292036029ae3735ce65edd.tar.gz cpython-8a9cd20edca7d01b68292036029ae3735ce65edd.tar.bz2 |
bpo-30876: Relative import from unloaded package now reimports the package (#2639)
instead of failing with SystemError.
Relative import from non-package now fails with ImportError rather than
SystemError.
Diffstat (limited to 'Python/import.c')
-rw-r--r-- | Python/import.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/Python/import.c b/Python/import.c index ee59926..f27b7cb 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1344,7 +1344,6 @@ resolve_name(PyObject *name, PyObject *globals, int level) PyObject *abs_name; PyObject *package = NULL; PyObject *spec; - PyInterpreterState *interp = PyThreadState_GET()->interp; Py_ssize_t last_dot; PyObject *base; int level_up; @@ -1448,12 +1447,6 @@ resolve_name(PyObject *name, PyObject *globals, int level) "attempted relative import with no known parent package"); goto error; } - else if (PyDict_GetItem(interp->modules, package) == NULL) { - PyErr_Format(PyExc_SystemError, - "Parent module %R not loaded, cannot perform relative " - "import", package); - goto error; - } for (level_up = 1; level_up < level; level_up += 1) { last_dot = PyUnicode_FindChar(package, '.', 0, last_dot, -1); |