Add a proper implementation for the tp_str slot (returning self, of
course), so I can get rid of the special case for strings in
PyObject_Str().
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index cb781ed..bf5056e 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -401,6 +401,13 @@
}
}
+static PyObject *
+string_str(PyObject *s)
+{
+ Py_INCREF(s);
+ return s;
+}
+
static int
string_length(PyStringObject *a)
{
@@ -2374,7 +2381,7 @@
0, /*tp_as_mapping*/
(hashfunc)string_hash, /*tp_hash*/
0, /*tp_call*/
- 0, /*tp_str*/
+ (reprfunc)string_str, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
&string_as_buffer, /*tp_as_buffer*/