bpo-29695: Remove bad keyword parameters in int(), bool(), float(), list() and tuple(). (#518)

This commit is contained in:
Serhiy Storchaka 2017-03-06 17:01:06 +02:00 committed by GitHub
parent b76ad5121e
commit 2e5642422f
12 changed files with 31 additions and 61 deletions

View file

@ -648,18 +648,13 @@ static PyObject *
tuple_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
PyObject *arg = NULL;
static char *kwlist[] = {"sequence", 0};
if (type != &PyTuple_Type)
return tuple_subtype_new(type, args, kwds);
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O:tuple", kwlist, &arg))
if (!_PyArg_NoKeywords("tuple()", kwds))
return NULL;
if (!PyArg_UnpackTuple(args, "tuple", 0, 1, &arg))
return NULL;
if (arg != NULL && PyTuple_GET_SIZE(args) == 0) {
if (PyErr_Warn(PyExc_DeprecationWarning,
"Using 'sequence' as a keyword argument is deprecated; "
"specify the value as a positional argument instead") < 0)
return NULL;
}
if (arg == NULL)
return PyTuple_New(0);