summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2011-06-29 23:44:36 (GMT)
committerRaymond Hettinger <python@rcn.com>2011-06-29 23:44:36 (GMT)
commitbf7a266074b2c4e97f3386dbf2c8dbf12a0514ac (patch)
treeff19fc78d26b5d4a4e36481774f91fd6d0a9d983 /Objects
parent470a41078b17f42aead78e534541a87d6378d662 (diff)
downloadcpython-bf7a266074b2c4e97f3386dbf2c8dbf12a0514ac.zip
cpython-bf7a266074b2c4e97f3386dbf2c8dbf12a0514ac.tar.gz
cpython-bf7a266074b2c4e97f3386dbf2c8dbf12a0514ac.tar.bz2
Fixup repr for dict_proxy objects.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/descrobject.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index 135b6d2..8e7ea7d 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -801,6 +801,20 @@ proxy_str(proxyobject *pp)
return PyObject_Str(pp->dict);
}
+static PyObject *
+proxy_repr(proxyobject *pp)
+{
+ PyObject *dictrepr;
+ PyObject *result;
+
+ dictrepr = PyObject_Repr(pp->dict);
+ if (dictrepr == NULL)
+ return NULL;
+ result = PyString_FromFormat("dict_proxy(%s)", PyString_AS_STRING(dictrepr));
+ Py_DECREF(dictrepr);
+ return result;
+}
+
static int
proxy_traverse(PyObject *self, visitproc visit, void *arg)
{
@@ -832,7 +846,7 @@ PyTypeObject PyDictProxy_Type = {
0, /* tp_getattr */
0, /* tp_setattr */
(cmpfunc)proxy_compare, /* tp_compare */
- 0, /* tp_repr */
+ (reprfunc)proxy_repr, /* tp_repr */
0, /* tp_as_number */
&proxy_as_sequence, /* tp_as_sequence */
&proxy_as_mapping, /* tp_as_mapping */