diff Python/import.c @ 61774:55e2368f72f2 2.6

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. ........
author Brett Cannon <bcannon@gmail.com>
date Thu, 20 May 2010 18:41:08 +0000
parents e38335d4df91
children 787b969d37f0
line wrap: on
line diff
--- a/Python/import.c	Thu May 20 11:31:06 2010 +0000
+++ b/Python/import.c	Thu May 20 18:41:08 2010 +0000
@@ -2130,7 +2130,8 @@
     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;