bpo-46852: Rename float.__set_format__() to float.__setformat__() (GH-31558)

Rename the private undocumented float.__set_format__() method to
float.__setformat__() to fix a typo introduced in Python 3.7. The
method is only used by test_float.

The change enables again test_float tests on the float format which
were previously skipped because of the typo.

The typo was introduced in Python 3.7 by bpo-20185
in commit b5c51d3dd9.
This commit is contained in:
Victor Stinner 2022-02-25 03:05:25 +01:00 committed by GitHub
parent 1b2611eb02
commit 7d03c8be5a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 17 deletions

View File

@ -0,0 +1,3 @@
Rename the private undocumented ``float.__set_format__()`` method to
``float.__setformat__()`` to fix a typo introduced in Python 3.7. The method
is only used by test_float. Patch by Victor Stinner.

View File

@ -290,8 +290,8 @@ exit:
return return_value;
}
PyDoc_STRVAR(float___set_format____doc__,
"__set_format__($type, typestr, fmt, /)\n"
PyDoc_STRVAR(float___setformat____doc__,
"__setformat__($type, typestr, fmt, /)\n"
"--\n"
"\n"
"You probably don\'t want to use this function.\n"
@ -308,25 +308,25 @@ PyDoc_STRVAR(float___set_format____doc__,
"Override the automatic determination of C-level floating point type.\n"
"This affects how floats are converted to and from binary strings.");
#define FLOAT___SET_FORMAT___METHODDEF \
{"__set_format__", (PyCFunction)(void(*)(void))float___set_format__, METH_FASTCALL|METH_CLASS, float___set_format____doc__},
#define FLOAT___SETFORMAT___METHODDEF \
{"__setformat__", (PyCFunction)(void(*)(void))float___setformat__, METH_FASTCALL|METH_CLASS, float___setformat____doc__},
static PyObject *
float___set_format___impl(PyTypeObject *type, const char *typestr,
const char *fmt);
float___setformat___impl(PyTypeObject *type, const char *typestr,
const char *fmt);
static PyObject *
float___set_format__(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs)
float___setformat__(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs)
{
PyObject *return_value = NULL;
const char *typestr;
const char *fmt;
if (!_PyArg_CheckPositional("__set_format__", nargs, 2, 2)) {
if (!_PyArg_CheckPositional("__setformat__", nargs, 2, 2)) {
goto exit;
}
if (!PyUnicode_Check(args[0])) {
_PyArg_BadArgument("__set_format__", "argument 1", "str", args[0]);
_PyArg_BadArgument("__setformat__", "argument 1", "str", args[0]);
goto exit;
}
Py_ssize_t typestr_length;
@ -339,7 +339,7 @@ float___set_format__(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs
goto exit;
}
if (!PyUnicode_Check(args[1])) {
_PyArg_BadArgument("__set_format__", "argument 2", "str", args[1]);
_PyArg_BadArgument("__setformat__", "argument 2", "str", args[1]);
goto exit;
}
Py_ssize_t fmt_length;
@ -351,7 +351,7 @@ float___set_format__(PyTypeObject *type, PyObject *const *args, Py_ssize_t nargs
PyErr_SetString(PyExc_ValueError, "embedded null character");
goto exit;
}
return_value = float___set_format___impl(type, typestr, fmt);
return_value = float___setformat___impl(type, typestr, fmt);
exit:
return return_value;
@ -388,4 +388,4 @@ float___format__(PyObject *self, PyObject *arg)
exit:
return return_value;
}
/*[clinic end generated code: output=122a73f4c9d25806 input=a9049054013a1b77]*/
/*[clinic end generated code: output=3fb0c0624cc87dff input=a9049054013a1b77]*/

View File

@ -1762,7 +1762,7 @@ float___getformat___impl(PyTypeObject *type, const char *typestr)
/*[clinic input]
@classmethod
float.__set_format__
float.__setformat__
typestr: str
Must be 'double' or 'float'.
@ -1781,9 +1781,9 @@ This affects how floats are converted to and from binary strings.
[clinic start generated code]*/
static PyObject *
float___set_format___impl(PyTypeObject *type, const char *typestr,
const char *fmt)
/*[clinic end generated code: output=504460f5dc85acbd input=5306fa2b81a997e4]*/
float___setformat___impl(PyTypeObject *type, const char *typestr,
const char *fmt)
/*[clinic end generated code: output=06864de1fb5f1f04 input=c0e9e04dd87f9988]*/
{
float_format_type f;
float_format_type detected;
@ -1885,7 +1885,7 @@ static PyMethodDef float_methods[] = {
FLOAT_IS_INTEGER_METHODDEF
FLOAT___GETNEWARGS___METHODDEF
FLOAT___GETFORMAT___METHODDEF
FLOAT___SET_FORMAT___METHODDEF
FLOAT___SETFORMAT___METHODDEF
FLOAT___FORMAT___METHODDEF
{NULL, NULL} /* sentinel */
};