Mercurial > cpython-lru_cache-weakref
diff Objects/funcobject.c @ 42851:6380f88e3dee
Use unicode and stop supporting str8
| author | Neal Norwitz <nnorwitz@gmail.com> |
|---|---|
| date | Sun, 26 Aug 2007 03:56:04 +0000 |
| parents | e70cdce0e8b2 |
| children | 483e958d13c7 |
line wrap: on
line diff
--- a/Objects/funcobject.c Sun Aug 26 03:55:15 2007 +0000 +++ b/Objects/funcobject.c Sun Aug 26 03:56:04 2007 +0000 @@ -29,7 +29,7 @@ consts = ((PyCodeObject *)code)->co_consts; if (PyTuple_Size(consts) >= 1) { doc = PyTuple_GetItem(consts, 0); - if (!PyString_Check(doc) && !PyUnicode_Check(doc)) + if (!PyUnicode_Check(doc)) doc = Py_None; } else @@ -44,7 +44,7 @@ Otherwise, use None. */ if (!__name__) { - __name__ = PyString_InternFromString("__name__"); + __name__ = PyUnicode_InternFromString("__name__"); if (!__name__) { Py_DECREF(op); return NULL; @@ -297,7 +297,7 @@ PyErr_Format(PyExc_ValueError, "%s() requires a code object with %zd free vars," " not %zd", - PyString_AsString(op->func_name), + PyUnicode_AsString(op->func_name), nclosure, nfree); return -1; } @@ -322,7 +322,7 @@ /* Not legal to del f.func_name or to set it to anything * other than a string object. */ - if (value == NULL || (!PyString_Check(value) && !PyUnicode_Check(value))) { + if (value == NULL || !PyUnicode_Check(value)) { PyErr_SetString(PyExc_TypeError, "__name__ must be set to a string object"); return -1; @@ -482,12 +482,7 @@ &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)) { + if (name != Py_None && !PyUnicode_Check(name)) { PyErr_SetString(PyExc_TypeError, "arg 3 (name) must be None or string"); return NULL; @@ -573,9 +568,8 @@ static PyObject* func_repr(PyFunctionObject *op) { - return PyUnicode_FromFormat("<function %s at %p>", - PyString_AsString(op->func_name), - op); + return PyUnicode_FromFormat("<function %U at %p>", + op->func_name, op); } static int
