mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
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.
This commit is contained in:
parent
f75976617b
commit
339d0f720e
42 changed files with 465 additions and 185 deletions
|
@ -30,7 +30,9 @@ extern DL_IMPORT(PyTypeObject) PyInt_Type;
|
|||
#define PyInt_Check(op) ((op)->ob_type == &PyInt_Type)
|
||||
|
||||
extern DL_IMPORT(PyObject *) PyInt_FromString(char*, char**, int);
|
||||
#ifdef Py_USING_UNICODE
|
||||
extern DL_IMPORT(PyObject *) PyInt_FromUnicode(Py_UNICODE*, int, int);
|
||||
#endif
|
||||
extern DL_IMPORT(PyObject *) PyInt_FromLong(long);
|
||||
extern DL_IMPORT(long) PyInt_AsLong(PyObject *);
|
||||
extern DL_IMPORT(long) PyInt_GetMax(void);
|
||||
|
|
|
@ -42,7 +42,9 @@ extern DL_IMPORT(unsigned LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
|
|||
#endif /* HAVE_LONG_LONG */
|
||||
|
||||
DL_IMPORT(PyObject *) PyLong_FromString(char *, char **, int);
|
||||
#ifdef Py_USING_UNICODE
|
||||
DL_IMPORT(PyObject *) PyLong_FromUnicode(Py_UNICODE*, int, int);
|
||||
#endif
|
||||
|
||||
/* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in
|
||||
base 256, and return a Python long with the same numeric value.
|
||||
|
|
|
@ -320,7 +320,9 @@ extern DL_IMPORT(int) PyObject_Print(PyObject *, FILE *, int);
|
|||
extern DL_IMPORT(void) _PyObject_Dump(PyObject *);
|
||||
extern DL_IMPORT(PyObject *) PyObject_Repr(PyObject *);
|
||||
extern DL_IMPORT(PyObject *) PyObject_Str(PyObject *);
|
||||
#ifdef Py_USING_UNICODE
|
||||
extern DL_IMPORT(PyObject *) PyObject_Unicode(PyObject *);
|
||||
#endif
|
||||
extern DL_IMPORT(int) PyObject_Compare(PyObject *, PyObject *);
|
||||
extern DL_IMPORT(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int);
|
||||
extern DL_IMPORT(int) PyObject_RichCompareBool(PyObject *, PyObject *, int);
|
||||
|
|
|
@ -58,6 +58,12 @@ Copyright (c) Corporation for National Research Initiatives.
|
|||
|
||||
/* --- Internal Unicode Format -------------------------------------------- */
|
||||
|
||||
#ifndef Py_USING_UNICODE
|
||||
|
||||
#define PyUnicode_Check(op) 0
|
||||
|
||||
#else
|
||||
|
||||
/* FIXME: MvL's new implementation assumes that Py_UNICODE_SIZE is
|
||||
properly set, but the default rules below doesn't set it. I'll
|
||||
sort this out some other day -- fredrik@pythonware.com */
|
||||
|
@ -1087,4 +1093,5 @@ extern DL_IMPORT(int) _PyUnicode_IsAlpha(
|
|||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* Py_USING_UNICODE */
|
||||
#endif /* !Py_UNICODEOBJECT_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue