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/Lib/test/test_call.py b/Lib/test/test_call.py
index d178aa4..b3077ad 100644
--- a/Lib/test/test_call.py
+++ b/Lib/test/test_call.py
@@ -468,7 +468,7 @@
self.check_result(result, expected)
def test_vectorcall_dict(self):
- # Test _PyObject_FastCallDict()
+ # Test PyObject_VectorcallDict()
for func, args, expected in self.CALLS_POSARGS:
with self.subTest(func=func, args=args):
@@ -487,7 +487,7 @@
self.check_result(result, expected)
def test_vectorcall(self):
- # Test _PyObject_Vectorcall()
+ # Test PyObject_Vectorcall()
for func, args, expected in self.CALLS_POSARGS:
with self.subTest(func=func, args=args):
@@ -594,7 +594,7 @@
# 1. vectorcall using PyVectorcall_Call()
# (only for objects that support vectorcall directly)
# 2. normal call
- # 3. vectorcall using _PyObject_Vectorcall()
+ # 3. vectorcall using PyObject_Vectorcall()
# 4. call as bound method
# 5. call using functools.partial