Merged the int/long unification branch, by very crude means (sorry Thomas!).
I banged on the code (beyond what's in that branch) to make fewer tests fail;
the only tests that fail now are:
test_descr -- can't pickle ints?!
test_pickletools -- ???
test_socket -- See python.org/sf/1619659
test_sqlite -- ???
I'll deal with those later.
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index 0cd819c..9e298f0 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -1089,7 +1089,7 @@
have_filename = (self->filename != NULL) &&
PyString_Check(self->filename);
- have_lineno = (self->lineno != NULL) && PyInt_Check(self->lineno);
+ have_lineno = (self->lineno != NULL) && PyInt_CheckExact(self->lineno);
if (!have_filename && !have_lineno)
return str;
@@ -1225,10 +1225,8 @@
return -1;
}
- if (PyInt_Check(attr)) {
- *value = PyInt_AS_LONG(attr);
- } else if (PyLong_Check(attr)) {
- *value = _PyLong_AsSsize_t(attr);
+ if (PyLong_Check(attr)) {
+ *value = PyLong_AsSsize_t(attr);
if (*value == -1 && PyErr_Occurred())
return -1;
} else {
@@ -1515,8 +1513,8 @@
if (!PyArg_ParseTuple(args, "O!O!O!O!O!",
&PyString_Type, &self->encoding,
objecttype, &self->object,
- &PyInt_Type, &self->start,
- &PyInt_Type, &self->end,
+ &PyLong_Type, &self->start,
+ &PyLong_Type, &self->end,
&PyString_Type, &self->reason)) {
self->encoding = self->object = self->start = self->end =
self->reason = NULL;
@@ -1748,8 +1746,8 @@
if (!PyArg_ParseTuple(args, "O!O!O!O!",
&PyUnicode_Type, &self->object,
- &PyInt_Type, &self->start,
- &PyInt_Type, &self->end,
+ &PyLong_Type, &self->start,
+ &PyLong_Type, &self->end,
&PyString_Type, &self->reason)) {
self->object = self->start = self->end = self->reason = NULL;
return -1;