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/Python/marshal.c b/Python/marshal.c
index 008659d..5ef11ef 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -187,6 +187,7 @@
w_long((long)n, p);
w_string(PyString_AS_STRING(v), n, p);
}
+#ifdef Py_USING_UNICODE
else if (PyUnicode_Check(v)) {
PyObject *utf8;
utf8 = PyUnicode_AsUTF8String(v);
@@ -201,6 +202,7 @@
w_string(PyString_AS_STRING(utf8), n, p);
Py_DECREF(utf8);
}
+#endif
else if (PyTuple_Check(v)) {
w_byte(TYPE_TUPLE, p);
n = PyTuple_Size(v);
@@ -472,6 +474,7 @@
}
return v;
+#ifdef Py_USING_UNICODE
case TYPE_UNICODE:
{
char *buffer;
@@ -494,6 +497,7 @@
PyMem_DEL(buffer);
return v;
}
+#endif
case TYPE_TUPLE:
n = r_long(p);