From: Georg Brandl Date: Mon, 12 Mar 2007 14:30:05 +0000 (+0000) Subject: Bug #1678647: write a newline after printing an exception in any X-Git-Tag: v2.6a1~2043 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7b9c555520436b8bd1805202e7b0d1329f05b321;p=python Bug #1678647: write a newline after printing an exception in any case, even when converting the value to a string failed. --- diff --git a/Misc/NEWS b/Misc/NEWS index 2ac04c9f39..67f417a2b4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 2.6 alpha 1? Core and builtins ----------------- +- Bug #1678647: write a newline after printing an exception in any + case, even when converting the value to a string failed. + - The dir() function has been extended to call the __dir__() method on its argument, if it exists. If not, it will work like before. This allows customizing the output of dir() in the presence of a __getattr__(). diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 454afe47f7..3a9e75e237 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1226,8 +1226,8 @@ PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb) err = PyFile_WriteObject(s, f, Py_PRINT_RAW); Py_XDECREF(s); } - if (err == 0) - err = PyFile_WriteString("\n", f); + /* try to write a newline in any case */ + err += PyFile_WriteString("\n", f); } Py_DECREF(value); /* If an error happened here, don't show it.