From: Georg Brandl Date: Mon, 7 Jan 2008 18:16:36 +0000 (+0000) Subject: Make Python compile with --disable-unicode. X-Git-Tag: v2.6a1~691 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dfe5dc8455de93fddb3030416e41b92d3a0fd267;p=python Make Python compile with --disable-unicode. --- diff --git a/Objects/typeobject.c b/Objects/typeobject.c index e790c0486d..bfd2a4c5d3 100644 --- a/Objects/typeobject.c +++ b/Objects/typeobject.c @@ -3220,8 +3220,10 @@ inherit_special(PyTypeObject *type, PyTypeObject *base) type->tp_flags |= Py_TPFLAGS_LONG_SUBCLASS; else if (PyType_IsSubtype(base, &PyString_Type)) type->tp_flags |= Py_TPFLAGS_STRING_SUBCLASS; +#ifdef Py_USING_UNICODE else if (PyType_IsSubtype(base, &PyUnicode_Type)) type->tp_flags |= Py_TPFLAGS_UNICODE_SUBCLASS; +#endif else if (PyType_IsSubtype(base, &PyTuple_Type)) type->tp_flags |= Py_TPFLAGS_TUPLE_SUBCLASS; else if (PyType_IsSubtype(base, &PyList_Type)) diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index f59ab59ad5..7fcff201de 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -1533,6 +1533,7 @@ PyTokenizer_Get(struct tok_state *tok, char **p_start, char **p_end) return result; } +#ifdef Py_USING_UNICODE /* This function is only called from parsetok. However, it cannot live there, as it must be empty for PGEN, and we can check for PGEN only in this file. */ @@ -1593,6 +1594,7 @@ PyTokenizer_RestoreEncoding(struct tok_state* tok, int len, int *offset) } #endif +#endif /* defined(Py_USING_UNICODE) */ #ifdef Py_DEBUG diff --git a/Parser/tokenizer.h b/Parser/tokenizer.h index 8482cddfc5..feccd4e2ba 100644 --- a/Parser/tokenizer.h +++ b/Parser/tokenizer.h @@ -58,8 +58,10 @@ extern struct tok_state *PyTokenizer_FromString(const char *); extern struct tok_state *PyTokenizer_FromFile(FILE *, char *, char *); extern void PyTokenizer_Free(struct tok_state *); extern int PyTokenizer_Get(struct tok_state *, char **, char **); +#ifdef Py_USING_UNICODE extern char * PyTokenizer_RestoreEncoding(struct tok_state* tok, int len, int *offset); +#endif #ifdef __cplusplus } diff --git a/Python/ast.c b/Python/ast.c index b084e01a57..ddcd0a0030 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -1246,6 +1246,7 @@ ast_for_atom(struct compiling *c, const node *n) case STRING: { PyObject *str = parsestrplus(c, n); if (!str) { +#ifdef Py_USING_UNICODE if (PyErr_ExceptionMatches(PyExc_UnicodeError)){ PyObject *type, *value, *tback, *errstr; PyErr_Fetch(&type, &value, &tback); @@ -1263,6 +1264,7 @@ ast_for_atom(struct compiling *c, const node *n) Py_DECREF(value); Py_XDECREF(tback); } +#endif return NULL; } PyArena_AddPyObject(c->c_arena, str);