SF patch #820195 by Wojtek Walczak (gminick at users.sourceforge.net):
make obj.__contains__() returns True/False instead of 1/0.
diff --git a/Misc/ACKS b/Misc/ACKS
index 74bfbfa..67c1cec 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -572,6 +572,7 @@
Charles Waldman
Richard Walker
Larry Wall
+Wojtek Walczak
Greg Ward
Barry Warsaw
Steve Waterbury
diff --git a/Misc/NEWS b/Misc/NEWS
index 5a8379e..8662f10 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -30,6 +30,9 @@
- zip() with no arguments now returns an empty list instead of raising
a TypeError exception.
+- obj.__contains__() now returns True/False instead of 1/0. SF patch
+ 820195.
+
Extension modules
-----------------
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index af255f1..2708cdc 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3569,14 +3569,16 @@
{
objobjproc func = (objobjproc)wrapped;
int res;
- PyObject *value;
+ PyObject *value, *ret;
if (!PyArg_ParseTuple(args, "O", &value))
return NULL;
res = (*func)(self, value);
if (res == -1 && PyErr_Occurred())
return NULL;
- return PyInt_FromLong((long)res);
+ ret = PyObject_IsTrue(PyInt_FromLong((long)res)) ? Py_True : Py_False;
+ Py_INCREF(ret);
+ return ret;
}
static PyObject *