summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2010-05-20 18:41:08 (GMT)
committerBrett Cannon <bcannon@gmail.com>2010-05-20 18:41:08 (GMT)
commit7d006260a55944cef2a7ea9ba40be4de36c394f7 (patch)
treed941f505b15fb88aad49974c82b4923b0b945a30 /Python
parent51f93d99aa4b6a04eb273c22b8c78eccf5bf2e3e (diff)
downloadcpython-7d006260a55944cef2a7ea9ba40be4de36c394f7.zip
cpython-7d006260a55944cef2a7ea9ba40be4de36c394f7.tar.gz
cpython-7d006260a55944cef2a7ea9ba40be4de36c394f7.tar.bz2
Merged revisions 81380 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r81380 | brett.cannon | 2010-05-20 11:37:55 -0700 (Thu, 20 May 2010) | 8 lines 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. ........
Diffstat (limited to 'Python')
-rw-r--r--Python/import.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Python/import.c b/Python/import.c
index da660cf..07f5720 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -2130,7 +2130,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;