Fix SF #442791 (revisited): No __delitem__ wrapper was defined.
This commit is contained in:
parent
388f37e6f6
commit
2b8d7bdd77
|
@ -1504,9 +1504,26 @@ wrap_intobjargproc(PyObject *self, PyObject *args, void *wrapped)
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
wrap_delitem_int(PyObject *self, PyObject *args, void *wrapped)
|
||||||
|
{
|
||||||
|
intobjargproc func = (intobjargproc)wrapped;
|
||||||
|
int i, res;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "i", &i))
|
||||||
|
return NULL;
|
||||||
|
res = (*func)(self, i, NULL);
|
||||||
|
if (res == -1 && PyErr_Occurred())
|
||||||
|
return NULL;
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
static struct wrapperbase tab_setitem_int[] = {
|
static struct wrapperbase tab_setitem_int[] = {
|
||||||
{"__setitem__", (wrapperfunc)wrap_intobjargproc,
|
{"__setitem__", (wrapperfunc)wrap_intobjargproc,
|
||||||
"x.__setitem__(i, y) <==> x[i]=y"},
|
"x.__setitem__(i, y) <==> x[i]=y"},
|
||||||
|
{"__delitem__", (wrapperfunc)wrap_delitem_int,
|
||||||
|
"x.__delitem__(y) <==> del x[y]"},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1570,9 +1587,27 @@ wrap_objobjargproc(PyObject *self, PyObject *args, void *wrapped)
|
||||||
return Py_None;
|
return Py_None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
wrap_delitem(PyObject *self, PyObject *args, void *wrapped)
|
||||||
|
{
|
||||||
|
objobjargproc func = (objobjargproc)wrapped;
|
||||||
|
int res;
|
||||||
|
PyObject *key;
|
||||||
|
|
||||||
|
if (!PyArg_ParseTuple(args, "O", &key))
|
||||||
|
return NULL;
|
||||||
|
res = (*func)(self, key, NULL);
|
||||||
|
if (res == -1 && PyErr_Occurred())
|
||||||
|
return NULL;
|
||||||
|
Py_INCREF(Py_None);
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
static struct wrapperbase tab_setitem[] = {
|
static struct wrapperbase tab_setitem[] = {
|
||||||
{"__setitem__", (wrapperfunc)wrap_objobjargproc,
|
{"__setitem__", (wrapperfunc)wrap_objobjargproc,
|
||||||
"x.__setitem__(y, z) <==> x[y]=z"},
|
"x.__setitem__(y, z) <==> x[y]=z"},
|
||||||
|
{"__delitem__", (wrapperfunc)wrap_delitem,
|
||||||
|
"x.__delitem__(y) <==> del x[y]"},
|
||||||
{0}
|
{0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue