Bug #1550983: emit better error messages for erroneous relative

imports (if not in package and if beyond toplevel package).
 (backport from rev. 51765)
This commit is contained in:
Georg Brandl 2006-09-06 06:09:34 +00:00
parent b20cb33f7f
commit 37a9e579ec
2 changed files with 6 additions and 2 deletions

View File

@ -19,6 +19,9 @@ What's New in Python 2.5 release candidate 2?
Core and builtins
-----------------
- Bug #1550983: emit better error messages for erroneous relative
imports (if not in package and if beyond toplevel package).
- Overflow checking code in integer division ran afoul of new gcc
optimizations. Changed to be more standard-conforming.

View File

@ -2114,7 +2114,7 @@ get_parent(PyObject *globals, char *buf, Py_ssize_t *p_buflen, int level)
size_t len;
if (lastdot == NULL && level > 0) {
PyErr_SetString(PyExc_ValueError,
"Relative importpath too deep");
"Attempted relative import in non-package");
return NULL;
}
if (lastdot == NULL)
@ -2133,7 +2133,8 @@ get_parent(PyObject *globals, char *buf, Py_ssize_t *p_buflen, int level)
char *dot = strrchr(buf, '.');
if (dot == NULL) {
PyErr_SetString(PyExc_ValueError,
"Relative importpath too deep");
"Attempted relative import beyond "
"toplevel package");
return NULL;
}
*dot = '\0';