Issue #19512: builtin print() function uses an identifier instead of literal
string "flush" to call the flush method
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 6d9864d..7f3593c 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1547,6 +1547,7 @@
static PyObject *dummy_args;
PyObject *sep = NULL, *end = NULL, *file = NULL, *flush = NULL;
int i, err;
+ _Py_IDENTIFIER(flush);
if (dummy_args == NULL && !(dummy_args = PyTuple_New(0)))
return NULL;
@@ -1613,7 +1614,7 @@
if (do_flush == -1)
return NULL;
else if (do_flush) {
- tmp = PyObject_CallMethod(file, "flush", "");
+ tmp = _PyObject_CallMethodId(file, &PyId_flush, "");
if (tmp == NULL)
return NULL;
else