From: Georg Brandl Date: Wed, 6 Sep 2006 06:09:31 +0000 (+0000) Subject: Bug #1550983: emit better error messages for erroneous relative X-Git-Tag: v2.6a1~2693 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=98775dfebc86aca40b27dcca5e4f4fd3a07e8acb;p=thirdparty%2FPython%2Fcpython.git Bug #1550983: emit better error messages for erroneous relative imports (if not in package and if beyond toplevel package). --- diff --git a/Misc/NEWS b/Misc/NEWS index a010b0a22d1c..a599dbd3e6a4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.6 alpha 1? 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. diff --git a/Python/import.c b/Python/import.c index a0c5055142bc..5af365187ec5 100644 --- a/Python/import.c +++ b/Python/import.c @@ -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';