Mercurial > cpython-lru_cache-weakref
diff Python/bltinmodule.c @ 41168:78686c7a23a7 legacy-trunk
Patch #1444529: the builtin compile() now accepts keyword arguments.
(backport)
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Tue, 13 Mar 2007 20:46:32 +0000 |
| parents | 7286d832ad27 |
| children | a0ee3b2ba361 |
line wrap: on
line diff
--- a/Python/bltinmodule.c Tue Mar 13 20:42:52 2007 +0000 +++ b/Python/bltinmodule.c Tue Mar 13 20:46:32 2007 +0000 @@ -402,7 +402,7 @@ If coercion is not possible, raise TypeError."); static PyObject * -builtin_compile(PyObject *self, PyObject *args) +builtin_compile(PyObject *self, PyObject *args, PyObject *kwds) { char *str; char *filename; @@ -413,9 +413,12 @@ PyCompilerFlags cf; PyObject *result = NULL, *cmd, *tmp = NULL; Py_ssize_t length; + static char *kwlist[] = {"source", "filename", "mode", "flags", + "dont_inherit", NULL}; - if (!PyArg_ParseTuple(args, "Oss|ii:compile", &cmd, &filename, - &startstr, &supplied_flags, &dont_inherit)) + if (!PyArg_ParseTupleAndKeywords(args, kwds, "Oss|ii:compile", + kwlist, &cmd, &filename, &startstr, + &supplied_flags, &dont_inherit)) return NULL; cf.cf_flags = supplied_flags; @@ -2237,7 +2240,7 @@ {"chr", builtin_chr, METH_VARARGS, chr_doc}, {"cmp", builtin_cmp, METH_VARARGS, cmp_doc}, {"coerce", builtin_coerce, METH_VARARGS, coerce_doc}, - {"compile", builtin_compile, METH_VARARGS, compile_doc}, + {"compile", (PyCFunction)builtin_compile, METH_VARARGS | METH_KEYWORDS, compile_doc}, {"delattr", builtin_delattr, METH_VARARGS, delattr_doc}, {"dir", builtin_dir, METH_VARARGS, dir_doc}, {"divmod", builtin_divmod, METH_VARARGS, divmod_doc},
