mirror of
https://github.com/python/cpython.git
synced 2025-07-28 05:34:31 +00:00
Turned out that if you used explicit relative import syntax
(e.g. from .os import sep) and it failed, import would still try the implicit relative import semantics of an absolute import (from os import sep). That's not right, so when level is negative, only do explicit relative import semantics. Fixes issue #7902. Thanks to Meador Inge for the patch.
This commit is contained in:
parent
b1556c537d
commit
eb3cd301ae
3 changed files with 17 additions and 1 deletions
|
@ -2134,7 +2134,8 @@ import_module_level(char *name, PyObject *globals, PyObject *locals,
|
|||
if (parent == NULL)
|
||||
return NULL;
|
||||
|
||||
head = load_next(parent, Py_None, &name, buf, &buflen);
|
||||
head = load_next(parent, level < 0 ? Py_None : parent, &name, buf,
|
||||
&buflen);
|
||||
if (head == NULL)
|
||||
return NULL;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue