Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.
diff --git a/Objects/intobject.c b/Objects/intobject.c
index f69f81a..e7f618b 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -202,6 +202,7 @@
return PyInt_FromLong(x);
}
+#ifdef Py_USING_UNICODE
PyObject *
PyInt_FromUnicode(Py_UNICODE *s, int length, int base)
{
@@ -216,6 +217,7 @@
return NULL;
return PyInt_FromString(buffer, NULL, base);
}
+#endif
/* Methods */
@@ -765,10 +767,12 @@
return PyNumber_Int(x);
if (PyString_Check(x))
return PyInt_FromString(PyString_AS_STRING(x), NULL, base);
+#ifdef Py_USING_UNICODE
if (PyUnicode_Check(x))
return PyInt_FromUnicode(PyUnicode_AS_UNICODE(x),
PyUnicode_GET_SIZE(x),
base);
+#endif
PyErr_SetString(PyExc_TypeError,
"int() can't convert non-string with explicit base");
return NULL;