[3.8] bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) (GH-16141)

In ArgumentClinic, value "NULL" should now be used only for unrepresentable default values
(like in the optional third parameter of getattr). "None" should be used if None is accepted
as argument and passing None has the same effect as not passing the argument at all.
(cherry picked from commit 279f44678c)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Serhiy Storchaka 2019-09-14 13:31:50 +03:00 committed by GitHub
parent 66da347ef0
commit d322abbb83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 251 additions and 252 deletions

View file

@ -2147,7 +2147,7 @@ builtin_repr(PyObject *module, PyObject *obj)
round as builtin_round
number: object
ndigits: object = NULL
ndigits: object = None
Round a number to a given precision in decimal digits.
@ -2157,7 +2157,7 @@ the return value has the same type as the number. ndigits may be negative.
static PyObject *
builtin_round_impl(PyObject *module, PyObject *number, PyObject *ndigits)
/*[clinic end generated code: output=ff0d9dd176c02ede input=854bc3a217530c3d]*/
/*[clinic end generated code: output=ff0d9dd176c02ede input=275678471d7aca15]*/
{
PyObject *round, *result;
@ -2175,7 +2175,7 @@ builtin_round_impl(PyObject *module, PyObject *number, PyObject *ndigits)
return NULL;
}
if (ndigits == NULL || ndigits == Py_None)
if (ndigits == Py_None)
result = _PyObject_CallNoArg(round);
else
result = PyObject_CallFunctionObjArgs(round, ndigits, NULL);