diff -r c91e7f707562 Objects/typeobject.c --- a/Objects/typeobject.c Tue Jul 09 00:49:03 2013 +0200 +++ b/Objects/typeobject.c Tue Jul 09 01:58:56 2013 +0200 @@ -5279,7 +5279,7 @@ slot_tp_str(PyObject *self) Py_DECREF(func); return res; } - else { + else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { /* PyObject *ress; */ PyErr_Clear(); res = slot_tp_repr(self); @@ -5296,6 +5296,9 @@ slot_tp_str(PyObject *self) return ress; */ } + else { + return NULL; + } } static Py_hash_t