Index: Objects/weakrefobject.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Objects/weakrefobject.c,v retrieving revision 1.16 diff -w -u -r1.16 weakrefobject.c --- Objects/weakrefobject.c 4 Feb 2004 23:14:14 -0000 1.16 +++ Objects/weakrefobject.c 25 Jun 2004 02:56:25 -0000 @@ -355,7 +355,7 @@ { PyObject *o = PyWeakref_GET_OBJECT(proxy); if (!proxy_checkref(proxy)) - return 1; + return -1; if (o->ob_type->tp_as_number && o->ob_type->tp_as_number->nb_nonzero) return (*o->ob_type->tp_as_number->nb_nonzero)(o); Index: Lib/test/test_weakref.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_weakref.py,v retrieving revision 1.40 diff -w -u -r1.40 test_weakref.py --- Lib/test/test_weakref.py 2 Jun 2004 18:42:25 -0000 1.40 +++ Lib/test/test_weakref.py 25 Jun 2004 02:56:25 -0000 @@ -104,6 +104,7 @@ self.assertRaises(weakref.ReferenceError, check, ref1) self.assertRaises(weakref.ReferenceError, check, ref2) + self.assertRaises(weakref.ReferenceError, bool, weakref.proxy(C())) self.assert_(self.cbcalled == 2) def check_basic_ref(self, factory):