From 1ab833082738ced53318aca05901e596d5ede683 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Walter=20D=C3=B6rwald?= Date: Fri, 18 May 2007 17:15:44 +0000 Subject: Add functions PyUnicode_Append() and PyUnicode_AppendAndDel() that mirror PyString_Concat() and PyString_ConcatAndDel() (the name PyUnicode_Concat() was already taken). Change PyObject_Repr() to always return a unicode object. Update all repr implementations to return unicode objects. Add a function PyObject_ReprStr8() that calls PyObject_Repr() and converts the result to an 8bit string. Use PyObject_ReprStr8() where using PyObject_Repr() can't be done straightforward. --- Objects/classobject.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'Objects/classobject.c') diff --git a/Objects/classobject.c b/Objects/classobject.c index 85826a9ff4..e4687a3695 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -258,23 +258,15 @@ method_repr(PyMethodObject *a) sklassname = PyString_AS_STRING(klassname); } if (self == NULL) - result = PyString_FromFormat("", + result = PyUnicode_FromFormat("", sklassname, sfuncname); else { + result = PyUnicode_FromFormat("", - sklassname, sfuncname, - PyString_AS_STRING(selfrepr)); - Py_DECREF(selfrepr); + PyUnicode_AppendAndDel(&result, PyObject_Repr(self)); + PyUnicode_AppendAndDel(&result, PyUnicode_FromString(">")); } - fail: Py_XDECREF(funcname); Py_XDECREF(klassname); return result; -- cgit v1.2.1