Fix SF bug 610610 (reported by Martijn Pieters, diagnosed by Neal Norwitz).
The switch in Exception__str__ didn't clear the error if
PySequence_Size() raised an exception. Added a case -1 which clears
the error and falls through to the default case.
Definite backport candidate (this dates all the way to Python 2.0).
diff --git a/Python/exceptions.c b/Python/exceptions.c
index 3f07089..03affdc 100644
--- a/Python/exceptions.c
+++ b/Python/exceptions.c
@@ -288,6 +288,9 @@
out = NULL;
break;
}
+ case -1:
+ PyErr_Clear();
+ /* Fall through */
default:
out = PyObject_Str(args);
break;