[Python-checkins] bpo-41756: Export PyGen_Send and wrap it in if-defs (#22677)

Vladimir Matveev webhook-mailer at python.org
Tue Oct 13 13:27:01 EDT 2020


https://github.com/python/cpython/commit/cfb0f57ff876ab3d04ff144f19eda58844981643
commit: cfb0f57ff876ab3d04ff144f19eda58844981643
branch: master
author: Vladimir Matveev <vladima at fb.com>
committer: GitHub <noreply at github.com>
date: 2020-10-13T10:26:51-07:00
summary:

bpo-41756: Export PyGen_Send and wrap it in if-defs (#22677)

files:
M Doc/c-api/iter.rst
M Include/abstract.h
M PC/python3dll.c

diff --git a/Doc/c-api/iter.rst b/Doc/c-api/iter.rst
index a068a43c86b6c..68df6f6e89f51 100644
--- a/Doc/c-api/iter.rst
+++ b/Doc/c-api/iter.rst
@@ -50,6 +50,8 @@ something like this::
 
    The enum value used to represent different results of :c:func:`PyIter_Send`.
 
+   .. versionadded:: 3.10
+
 
 .. c:function:: PySendResult PyIter_Send(PyObject *iter, PyObject *arg, PyObject **presult)
 
@@ -58,3 +60,5 @@ something like this::
    - ``PYGEN_RETURN`` if iterator returns. Return value is returned via *presult*.
    - ``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*.
    - ``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to ``NULL``.
+
+   .. versionadded:: 3.10
diff --git a/Include/abstract.h b/Include/abstract.h
index 716cd4b5ebbba..28e576b92935f 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -338,6 +338,7 @@ PyAPI_FUNC(int) PyIter_Check(PyObject *);
    NULL with an exception means an error occurred. */
 PyAPI_FUNC(PyObject *) PyIter_Next(PyObject *);
 
+#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
 typedef enum {
     PYGEN_RETURN = 0,
     PYGEN_ERROR = -1,
@@ -353,6 +354,7 @@ typedef enum {
    - PYGEN_NEXT (1) if generator has yielded.
      'result' parameter is filled with yielded value. */
 PyAPI_FUNC(PySendResult) PyIter_Send(PyObject *, PyObject *, PyObject **);
+#endif
 
 
 /* === Number Protocol ================================================== */
diff --git a/PC/python3dll.c b/PC/python3dll.c
index ff69ea7ca5efa..153ba612b7804 100644
--- a/PC/python3dll.c
+++ b/PC/python3dll.c
@@ -287,6 +287,7 @@ EXPORT_FUNC(PyInterpreterState_GetID)
 EXPORT_FUNC(PyInterpreterState_New)
 EXPORT_FUNC(PyIter_Check)
 EXPORT_FUNC(PyIter_Next)
+EXPORT_FUNC(PyIter_Send)
 EXPORT_FUNC(PyList_Append)
 EXPORT_FUNC(PyList_AsTuple)
 EXPORT_FUNC(PyList_GetItem)



More information about the Python-checkins mailing list