summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/modsupport.h12
-rw-r--r--Misc/NEWS6
2 files changed, 11 insertions, 7 deletions
diff --git a/Include/modsupport.h b/Include/modsupport.h
index 833e33d..86719c6 100644
--- a/Include/modsupport.h
+++ b/Include/modsupport.h
@@ -15,10 +15,8 @@ extern "C" {
#define PyArg_Parse _PyArg_Parse_SizeT
#define PyArg_ParseTuple _PyArg_ParseTuple_SizeT
#define PyArg_ParseTupleAndKeywords _PyArg_ParseTupleAndKeywords_SizeT
-#ifndef Py_LIMITED_API
#define PyArg_VaParse _PyArg_VaParse_SizeT
#define PyArg_VaParseTupleAndKeywords _PyArg_VaParseTupleAndKeywords_SizeT
-#endif /* !Py_LIMITED_API */
#define Py_BuildValue _Py_BuildValue_SizeT
#define Py_VaBuildValue _Py_VaBuildValue_SizeT
#else
@@ -33,18 +31,18 @@ PyAPI_FUNC(int) PyArg_Parse(PyObject *, const char *, ...);
PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, const char *, ...);
PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
const char *, char **, ...);
+PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
+PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
+ const char *, char **, va_list);
+#endif
PyAPI_FUNC(int) PyArg_ValidateKeywordArguments(PyObject *);
PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, const char *, Py_ssize_t, Py_ssize_t, ...);
PyAPI_FUNC(PyObject *) Py_BuildValue(const char *, ...);
PyAPI_FUNC(PyObject *) _Py_BuildValue_SizeT(const char *, ...);
-#endif
+
#ifndef Py_LIMITED_API
PyAPI_FUNC(int) _PyArg_NoKeywords(const char *funcname, PyObject *kw);
PyAPI_FUNC(int) _PyArg_NoPositional(const char *funcname, PyObject *args);
-
-PyAPI_FUNC(int) PyArg_VaParse(PyObject *, const char *, va_list);
-PyAPI_FUNC(int) PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *,
- const char *, char **, va_list);
#endif
PyAPI_FUNC(PyObject *) Py_VaBuildValue(const char *, va_list);
diff --git a/Misc/NEWS b/Misc/NEWS
index 2b319ec..faab4df 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -143,6 +143,12 @@ Windows
C API
-----
+- Issue #29083: Fixed the declaration of some public API functions.
+ PyArg_VaParse() and PyArg_VaParseTupleAndKeywords() were not available in
+ limited API. PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and
+ Py_BuildValue() were not available in limited API of version < 3.3 when
+ PY_SSIZE_T_CLEAN is defined.
+
- Issue #29058: All stable API extensions added after Python 3.2 are now
available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of
the minimum Python version supporting this API.