accept bytes for the AST 'string' type

This is a temporary kludge and all is well in 3.3.
This commit is contained in:
Benjamin Peterson 2011-08-31 22:13:03 -04:00
parent 48e484fdde
commit 0224d4e699
3 changed files with 5 additions and 2 deletions

View File

@ -10,6 +10,9 @@ What's New in Python 3.2.3?
Core and Builtins
-----------------
- Accept bytes for the AST string type. This is temporary until a proper fix in
3.3.
- Issue #9200: The str.is* methods now work with strings that contain non-BMP
characters even in narrow Unicode builds.

View File

@ -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;
}

View File

@ -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;
}