Revert the last odd change to PyNumber_Long:  the problem it was trying
to fix was almost certainly a bug in _PyLong_Copy (which I'll fix next).
diff --git a/Objects/abstract.c b/Objects/abstract.c
index cae474c..2acfd08 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -933,16 +933,8 @@
 		Py_INCREF(o);
 		return o;
 	}
-	if (PyLong_Check(o)) {
-		PyObject *res;
-
-		res = _PyLong_Copy((PyLongObject *)o);
-		if (res != NULL)
-			((PyLongObject *)res)->ob_size =
-				((PyLongObject *)o)->ob_size;
-
-		return res;
-	}
+	if (PyLong_Check(o))
+		return _PyLong_Copy((PyLongObject *)o);
 	if (PyString_Check(o))
 		/* need to do extra error checking that PyLong_FromString() 
 		 * doesn't do.  In particular long('9.5') must raise an