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/Modules/dlmodule.c b/Modules/dlmodule.c
index 5622ed9..4af7e30 100644
--- a/Modules/dlmodule.c
+++ b/Modules/dlmodule.c
@@ -107,9 +107,11 @@
}
for (i = 1; i < n; i++) {
PyObject *v = PyTuple_GetItem(args, i);
- if (PyInt_Check(v))
+ if (PyInt_Check(v)) {
alist[i-1] = PyInt_AsLong(v);
- else if (PyString_Check(v))
+ if (alist[i-1] == -1 && PyErr_Occurred())
+ return NULL;
+ } else if (PyString_Check(v))
alist[i-1] = (long)PyString_AsString(v);
else if (v == Py_None)
alist[i-1] = (long) ((char *)NULL);