Marc-Andre Lemburg <[EMAIL PROTECTED]> added the comment: On 2008-06-11 11:32, Nick Coghlan wrote: > Nick Coghlan <[EMAIL PROTECTED]> added the comment: > > As far as I am concerned, the implementation of PyObject_Unicode in > object.c has a bug in it: it should NEVER be retrieving __unicode__ from > the instance object. The implementation of PyObject_Format in abstract.c > shows the correct way to retrieve a pseudo-slot method like __unicode__ > from an arbitrary object.
The only difference I can spot is that the PyObject_Format() code special cases non-instance objects. > Line 482 in object.c is the offending line: > func = PyObject_GetAttr(v, unicodestr); > > Fix that bug, then add a __unicode__ method back to Exception objects > and you will have the best of both worlds. I'm not sure whether that would really solve anything. IMHO, it's better to implement the tp_unicode slot and then check that before trying .__unicode__ (as mentioned in the comment in PyObject_Unicode()). _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2517> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com