summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2007-03-12 14:30:05 (GMT)
committerGeorg Brandl <georg@python.org>2007-03-12 14:30:05 (GMT)
commit7b9c555520436b8bd1805202e7b0d1329f05b321 (patch)
tree50ec0cb0ccda2a35ac438b8fdff5a8f888d18f41
parent871f1bc6011c1644b1be2e87518c435e7fb552ad (diff)
downloadcpython-7b9c555520436b8bd1805202e7b0d1329f05b321.zip
cpython-7b9c555520436b8bd1805202e7b0d1329f05b321.tar.gz
cpython-7b9c555520436b8bd1805202e7b0d1329f05b321.tar.bz2
Bug #1678647: write a newline after printing an exception in any
case, even when converting the value to a string failed.
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/pythonrun.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 2ac04c9..67f417a 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 454afe4..3a9e75e 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.