Mercurial > cpython-lru_cache-weakref
diff Python/getargs.c @ 41558:29ae667f3239
Checkpoint. Manipulated things so that string literals are always
unicode, and a few other compensating changes, e.g. str <- unicode,
chr <- unichr, and repr() of a unicode string no longer starts
with 'u'. Lots of unit tests are broken, but some basic things
work, in particular distutils works so the extensions can be built,
and test_builtin.py works.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Fri, 27 Apr 2007 23:53:51 +0000 |
| parents | 4aee3f672f77 |
| children | 15b810e21fe9 |
line wrap: on
line diff
--- a/Python/getargs.c Fri Apr 27 20:16:19 2007 +0000 +++ b/Python/getargs.c Fri Apr 27 23:53:51 2007 +0000 @@ -1081,7 +1081,7 @@ case 'S': { /* string object */ PyObject **p = va_arg(*p_va, PyObject **); - if (PyString_Check(arg)) + if (PyString_Check(arg) || PyUnicode_Check(arg)) *p = arg; else return converterr("string", arg, msgbuf, bufsize); @@ -1531,7 +1531,7 @@ while (PyDict_Next(keywords, &pos, &key, &value)) { int match = 0; char *ks; - if (!PyString_Check(key)) { + if (!PyString_Check(key) && !PyUnicode_Check(key)) { PyErr_SetString(PyExc_TypeError, "keywords must be strings"); return cleanreturn(0, freelist);
