[Python-checkins] gh-98586: Add What's New entry and update docs (#99056)
erlend-aasland
webhook-mailer at python.org
Sun Nov 6 17:55:01 EST 2022
https://github.com/python/cpython/commit/57a405213cd7565b7c327b594378e22a5fb2817e
commit: 57a405213cd7565b7c327b594378e22a5fb2817e
branch: main
author: Wenzel Jakob <wenzel.jakob at epfl.ch>
committer: erlend-aasland <erlend.aasland at protonmail.com>
date: 2022-11-06T23:54:55+01:00
summary:
gh-98586: Add What's New entry and update docs (#99056)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>
Co-authored-by: Erlend E. Aasland <erlend.aasland at protonmail.com>
files:
M Doc/c-api/call.rst
M Doc/whatsnew/3.12.rst
M Misc/NEWS.d/next/Core and Builtins/2022-10-24-10-30-30.gh-issue-98586.Tha5Iy.rst
diff --git a/Doc/c-api/call.rst b/Doc/c-api/call.rst
index 6fb2e1519610..4dc66e318cd1 100644
--- a/Doc/c-api/call.rst
+++ b/Doc/c-api/call.rst
@@ -93,7 +93,7 @@ This is a pointer to a function with the following signature:
and they must be unique.
If there are no keyword arguments, then *kwnames* can instead be *NULL*.
-.. c:macro:: PY_VECTORCALL_ARGUMENTS_OFFSET
+.. data:: PY_VECTORCALL_ARGUMENTS_OFFSET
If this flag is set in a vectorcall *nargsf* argument, the callee is allowed
to temporarily change ``args[-1]``. In other words, *args* points to
diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst
index fb28d6758d3c..53c72e957d64 100644
--- a/Doc/whatsnew/3.12.rst
+++ b/Doc/whatsnew/3.12.rst
@@ -677,6 +677,18 @@ New Features
``__dict__`` and weakrefs with less bookkeeping,
using less memory and with faster access.
+* API for performing calls using
+ :ref:`the vectorcall protocol <vectorcall>` was added to the
+ :ref:`Limited API <stable>`:
+
+ * :c:func:`PyObject_Vectorcall`
+ * :c:func:`PyObject_VectorcallMethod`
+ * :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`
+
+ This means that both the incoming and outgoing ends of the vector call
+ protocol are now available in the :ref:`Limited API <stable>`. (Contributed
+ by Wenzel Jakob in :gh:`98586`.)
+
* Added two new public functions,
:c:func:`PyEval_SetProfileAllThreads` and
:c:func:`PyEval_SetTraceAllThreads`, that allow to set tracing and profiling
diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-10-24-10-30-30.gh-issue-98586.Tha5Iy.rst b/Misc/NEWS.d/next/Core and Builtins/2022-10-24-10-30-30.gh-issue-98586.Tha5Iy.rst
index 5d7b0c892496..6a1ae3568a17 100644
--- a/Misc/NEWS.d/next/Core and Builtins/2022-10-24-10-30-30.gh-issue-98586.Tha5Iy.rst
+++ b/Misc/NEWS.d/next/Core and Builtins/2022-10-24-10-30-30.gh-issue-98586.Tha5Iy.rst
@@ -1,6 +1,6 @@
Added the methods :c:func:`PyObject_Vectorcall` and
:c:func:`PyObject_VectorcallMethod` to the :ref:`Limited API <stable>` along
-with the auxiliary macro constant :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
+with the auxiliary macro constant :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
The availability of these functions enables more efficient :PEP:`590` vector
calls from binary extension modules that avoid argument boxing/unboxing
More information about the Python-checkins
mailing list