In PyNumber_ToBase, changed from an assert to returning an error when PyObject_Index() returns something other than an int or long.  It should never be possible to trigger this, as PyObject_Index checks to make sure it returns an int or long.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 93d73bb..a377e76 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1275,7 +1275,11 @@
 	else if (PyInt_Check(index))
 	  	res = _PyInt_Format((PyIntObject*)index, base, 1);
 	else
-		assert("PyNumber_ToBase: not long or int");
+		/* It should not be possible to get here, as
+		   PyNumber_Index already has a check for the same
+		   condition */
+		PyErr_SetString(PyExc_ValueError, "PyNumber_ToBase: index not "
+				"int or long");
 	Py_DECREF(index);
 	return res;
 }