From: Benjamin Peterson Date: Thu, 1 Sep 2011 02:13:03 +0000 (-0400) Subject: accept bytes for the AST 'string' type X-Git-Tag: v3.2.2~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4058211e8d8c250e39e21604b36637ebd8784e6c;p=thirdparty%2FPython%2Fcpython.git accept bytes for the AST 'string' type This is a temporary kludge and all is well in 3.3. --- diff --git a/Misc/NEWS b/Misc/NEWS index 0aa9a113147a..12813668ced0 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -13,6 +13,9 @@ Core and Builtins - Issue #12326: sys.platform is now always 'linux2' on Linux, even if Python is compiled on Linux 3. +- Accept bytes for the AST string type. This is temporary until a proper fix in + 3.3. + Library ------- diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index 8a7f8aec7f4b..249e18ddf424 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -805,7 +805,7 @@ static int obj2ast_identifier(PyObject* obj, PyObject** out, PyArena* arena) static int obj2ast_string(PyObject* obj, PyObject** out, PyArena* arena) { - if (!PyUnicode_CheckExact(obj)) { + if (!PyUnicode_CheckExact(obj) && !PyBytes_CheckExact(obj)) { PyErr_SetString(PyExc_TypeError, "AST string must be of type str"); return 1; } diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 8ba06ff39a4b..89c07cd602d2 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -611,7 +611,7 @@ static int obj2ast_identifier(PyObject* obj, PyObject** out, PyArena* arena) static int obj2ast_string(PyObject* obj, PyObject** out, PyArena* arena) { - if (!PyUnicode_CheckExact(obj)) { + if (!PyUnicode_CheckExact(obj) && !PyBytes_CheckExact(obj)) { PyErr_SetString(PyExc_TypeError, "AST string must be of type str"); return 1; }