bpo-39245: Switch to public API for Vectorcall (GH-18460)
The bulk of this patch was generated automatically with:
for name in \
PyObject_Vectorcall \
Py_TPFLAGS_HAVE_VECTORCALL \
PyObject_VectorcallMethod \
PyVectorcall_Function \
PyObject_CallOneArg \
PyObject_CallMethodNoArgs \
PyObject_CallMethodOneArg \
;
do
echo $name
git grep -lwz _$name | xargs -0 sed -i "s/\b_$name\b/$name/g"
done
old=_PyObject_FastCallDict
new=PyObject_VectorcallDict
git grep -lwz $old | xargs -0 sed -i "s/\b$old\b/$new/g"
and then cleaned up:
- Revert changes to in docs & news
- Revert changes to backcompat defines in headers
- Nudge misaligned comments
diff --git a/Modules/_randommodule.c b/Modules/_randommodule.c
index 1f4bf74..f0fdb03 100644
--- a/Modules/_randommodule.c
+++ b/Modules/_randommodule.c
@@ -287,7 +287,7 @@
/* Calling int.__abs__() prevents calling arg.__abs__(), which might
return an invalid value. See issue #31478. */
args[0] = arg;
- n = _PyObject_Vectorcall(_randomstate_global->Long___abs__, args, 0,
+ n = PyObject_Vectorcall(_randomstate_global->Long___abs__, args, 0,
NULL);
}
else {