summaryrefslogtreecommitdiffstats
path: root/Python/import.c
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-07-12 03:50:03 (GMT)
committerGitHub <noreply@github.com>2017-07-12 03:50:03 (GMT)
commit8a9cd20edca7d01b68292036029ae3735ce65edd (patch)
treef4df7b29b7d32eb5a860e325f2114beea561e57b /Python/import.c
parent6d13b22e3ab262c6b1f068259aebd705e7da316c (diff)
downloadcpython-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.c7
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);