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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=98775dfebc86aca40b27dcca5e4f4fd3a07e8acb;p=python 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 a010b0a22d..a599dbd3e6 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 a0c5055142..5af365187e 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';