[Python-checkins] python/dist/src/Objects typeobject.c,2.164,2.165
gvanrossum@users.sourceforge.net
gvanrossum@users.sourceforge.net
Thu, 01 Aug 2002 07:38:56 -0700
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv706
Modified Files:
typeobject.c
Log Message:
SF patch 588728 (Nathan Srebro).
The __delete__ method wrapper for descriptors was not supported
(I added a test, too.)
2.2 bugfix candidate.
Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.164
retrieving revision 2.165
diff -C2 -d -r2.164 -r2.165
*** typeobject.c 30 Jul 2002 00:42:06 -0000 2.164
--- typeobject.c 1 Aug 2002 14:38:53 -0000 2.165
***************
*** 2808,2811 ****
--- 2808,2827 ----
return Py_None;
}
+
+ static PyObject *
+ wrap_descr_delete(PyObject *self, PyObject *args, void *wrapped)
+ {
+ descrsetfunc func = (descrsetfunc)wrapped;
+ PyObject *obj;
+ int ret;
+
+ if (!PyArg_ParseTuple(args, "O", &obj))
+ return NULL;
+ ret = (*func)(self, obj, NULL);
+ if (ret < 0)
+ return NULL;
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
static PyObject *
***************
*** 3884,3887 ****
--- 3900,3905 ----
TPSLOT("__set__", tp_descr_set, slot_tp_descr_set, wrap_descr_set,
"descr.__set__(obj, value)"),
+ TPSLOT("__delete__", tp_descr_set, slot_tp_descr_set,
+ wrap_descr_delete, "descr.__delete__(obj)"),
FLSLOT("__init__", tp_init, slot_tp_init, (wrapperfunc)wrap_init,
"x.__init__(...) initializes x; "