Commit 1bff883a authored by Guido van Rossum's avatar Guido van Rossum

Allow new.function() called with explicit 3rd arg of None, as

documented, and as is reasonable (since it is optional, but there's
another argument following it that may require you to specify a
value).  This solves SF bug 121887.
parent ecaa7779
......@@ -70,12 +70,17 @@ new_function(PyObject* unused, PyObject* args)
PyObject* defaults = Py_None;
PyFunctionObject* newfunc;
if (!PyArg_ParseTuple(args, "O!O!|SO!:function",
if (!PyArg_ParseTuple(args, "O!O!|OO!:function",
&PyCode_Type, &code,
&PyDict_Type, &globals,
&name,
&PyTuple_Type, &defaults))
return NULL;
if (name != Py_None && !PyString_Check(name)) {
PyErr_SetString(PyExc_TypeError,
"arg 3 (name) must be None or string");
return NULL;
}
newfunc = (PyFunctionObject *)PyFunction_New(code, globals);
if (newfunc == NULL)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment