Index: Objects/exceptions.c =================================================================== --- Objects/exceptions.c (revision 76759) +++ Objects/exceptions.c (working copy) @@ -1717,6 +1717,19 @@ ); } +#ifdef Py_USING_UNICODE +static PyObject * +UnicodeDecodeError_unicode(PyObject *self) +{ + return PyObject_Unicode(UnicodeDecodeError_str(self)); +} + +static PyMethodDef UnicodeDecodeError_methods[] = { + {"__unicode__", (PyCFunction)UnicodeDecodeError_unicode, METH_NOARGS }, +}; +#endif + + static PyTypeObject _PyExc_UnicodeDecodeError = { PyObject_HEAD_INIT(NULL) 0, @@ -1726,7 +1739,13 @@ (reprfunc)UnicodeDecodeError_str, 0, 0, 0, Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, PyDoc_STR("Unicode decoding error."), (traverseproc)UnicodeError_traverse, - (inquiry)UnicodeError_clear, 0, 0, 0, 0, 0, UnicodeError_members, + (inquiry)UnicodeError_clear, 0, 0, 0, 0, +#ifndef Py_USING_UNICODE + 0, +#else + UnicodeDecodeError_methods, +#endif + UnicodeError_members, 0, &_PyExc_UnicodeError, 0, 0, 0, offsetof(PyUnicodeErrorObject, dict), (initproc)UnicodeDecodeError_init, 0, BaseException_new, };