diff options
author | Guido van Rossum <guido@python.org> | 2007-05-17 21:15:39 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-05-17 21:15:39 (GMT) |
commit | bbbd4fdba2c9589588410a4d1727c031234fc2a6 (patch) | |
tree | 2ad24f57d78dbe5438519ba30e1969c6eb3bf382 | |
parent | 1a1f61b48f9295d07b2b07d13f49c03d37898d50 (diff) | |
download | cpython-bbbd4fdba2c9589588410a4d1727c031234fc2a6.zip cpython-bbbd4fdba2c9589588410a4d1727c031234fc2a6.tar.gz cpython-bbbd4fdba2c9589588410a4d1727c031234fc2a6.tar.bz2 |
Make test_new pass.
-rw-r--r-- | Lib/test/test_new.py | 2 | ||||
-rw-r--r-- | Objects/funcobject.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/Lib/test/test_new.py b/Lib/test/test_new.py index 797a8c3..c919621 100644 --- a/Lib/test/test_new.py +++ b/Lib/test/test_new.py @@ -143,7 +143,7 @@ class NewTest(unittest.TestCase): firstlineno, lnotab) # new.code used to be a way to mutate a tuple... - class S(str): + class S(str8): pass t = (S("ab"),) d = new.code(argcount, kwonlyargcount, nlocals, stacksize, diff --git a/Objects/funcobject.c b/Objects/funcobject.c index adbb6d5..0069fc1 100644 --- a/Objects/funcobject.c +++ b/Objects/funcobject.c @@ -482,6 +482,11 @@ func_new(PyTypeObject* type, PyObject* args, PyObject* kw) &PyDict_Type, &globals, &name, &defaults, &closure)) return NULL; + if (PyUnicode_Check(name)) { + name = _PyUnicode_AsDefaultEncodedString(name, NULL); + if (name == NULL) + return NULL; + } if (name != Py_None && !PyString_Check(name)) { PyErr_SetString(PyExc_TypeError, "arg 3 (name) must be None or string"); |