Merge p3yk branch with the trunk up to revision 45595. This breaks a fair
number of tests, all because of the codecs/_multibytecodecs issue described
here (it's not a Py3K issue, just something Py3K discovers):
http://mail.python.org/pipermail/python-dev/2006-April/064051.html

Hye-Shik Chang promised to look for a fix, so no need to fix it here. The
tests that are expected to break are:

test_codecencodings_cn
test_codecencodings_hk
test_codecencodings_jp
test_codecencodings_kr
test_codecencodings_tw
test_codecs
test_multibytecodec

This merge fixes an actual test failure (test_weakref) in this branch,
though, so I believe merging is the right thing to do anyway.
diff --git a/Objects/boolobject.c b/Objects/boolobject.c
index 05784e5..79be184 100644
--- a/Objects/boolobject.c
+++ b/Objects/boolobject.c
@@ -103,42 +103,42 @@
 /* Arithmetic methods -- only so we can override &, |, ^. */
 
 static PyNumberMethods bool_as_number = {
-	0,					/* nb_add */
-	0,					/* nb_subtract */
-	0,					/* nb_multiply */
-	0,					/* nb_remainder */
-	0,					/* nb_divmod */
-	0,					/* nb_power */
-	0,					/* nb_negative */
-	0,					/* nb_positive */
-	0,					/* nb_absolute */
-	0,					/* nb_nonzero */
-	0,					/* nb_invert */
-	0,					/* nb_lshift */
-	0,					/* nb_rshift */
-	(binaryfunc)bool_and,			/* nb_and */
-	(binaryfunc)bool_xor,			/* nb_xor */
-	(binaryfunc)bool_or,			/* nb_or */
-	0,					/* nb_coerce */
-	0,					/* nb_int */
-	0,					/* nb_long */
-	0,					/* nb_float */
-	0,					/* nb_oct */
-	0,		 			/* nb_hex */
-	0,					/* nb_inplace_add */
-	0,					/* nb_inplace_subtract */
-	0,					/* nb_inplace_multiply */
-	0,					/* nb_inplace_remainder */
-	0,					/* nb_inplace_power */
-	0,					/* nb_inplace_lshift */
-	0,					/* nb_inplace_rshift */
-	0,					/* nb_inplace_and */
-	0,					/* nb_inplace_xor */
-	0,					/* nb_inplace_or */
-	0,					/* nb_floor_divide */
-	0,					/* nb_true_divide */
-	0,					/* nb_inplace_floor_divide */
-	0,					/* nb_inplace_true_divide */
+	0,			/* nb_add */
+	0,			/* nb_subtract */
+	0,			/* nb_multiply */
+	0,			/* nb_remainder */
+	0,			/* nb_divmod */
+	0,			/* nb_power */
+	0,			/* nb_negative */
+	0,			/* nb_positive */
+	0,			/* nb_absolute */
+	0,			/* nb_nonzero */
+	0,			/* nb_invert */
+	0,			/* nb_lshift */
+	0,			/* nb_rshift */
+	bool_and,		/* nb_and */
+	bool_xor,		/* nb_xor */
+	bool_or,		/* nb_or */
+	0,			/* nb_coerce */
+	0,			/* nb_int */
+	0,			/* nb_long */
+	0,			/* nb_float */
+	0,			/* nb_oct */
+	0,		 	/* nb_hex */
+	0,			/* nb_inplace_add */
+	0,			/* nb_inplace_subtract */
+	0,			/* nb_inplace_multiply */
+	0,			/* nb_inplace_remainder */
+	0,			/* nb_inplace_power */
+	0,			/* nb_inplace_lshift */
+	0,			/* nb_inplace_rshift */
+	0,			/* nb_inplace_and */
+	0,			/* nb_inplace_xor */
+	0,			/* nb_inplace_or */
+	0,			/* nb_floor_divide */
+	0,			/* nb_true_divide */
+	0,			/* nb_inplace_floor_divide */
+	0,			/* nb_inplace_true_divide */
 };
 
 /* The type object for bool.  Note that this cannot be subclassed! */