From 28343e3392ca7b1ec7151f68d4d92c90efb91e50 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 16 Jul 2017 07:44:25 +0300 Subject: [3.6] bpo-30876: Relative import from unloaded package now reimports the package (GH-2639) (#2676) instead of failing with SystemError. Relative import from non-package now fails with ImportError rather than SystemError. (cherry picked from commit 8a9cd20edca7d01b68292036029ae3735ce65edd) --- Python/import.c | 7 ------- 1 file changed, 7 deletions(-) (limited to 'Python/import.c') diff --git a/Python/import.c b/Python/import.c index 40e02c01ec..4b3bedf876 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1345,7 +1345,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; @@ -1449,12 +1448,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); -- cgit v1.2.1