Bugfix candidate.
Adapter from SF patch 528038; fixes SF bug 527816.
The wrapper for __nonzero__ should be wrap_inquiry rather than
wrap_unaryfunc, since the slot returns an int, not a PyObject *.
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index de9bba1..696e99c 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -426,6 +426,9 @@
def ints():
if verbose: print "Testing int operations..."
numops(100, 3)
+ # The following crashes in Python 2.2
+ vereq((1).__nonzero__(), 1)
+ vereq((0).__nonzero__(), 0)
def longs():
if verbose: print "Testing long operations..."