[Python-checkins] gh-105373: Remove PyArg_Parse() deprecation (#105394)
vstinner
webhook-mailer at python.org
Tue Jun 13 07:49:50 EDT 2023
https://github.com/python/cpython/commit/d0f1afd9425e28409fbf535bb7d43472bfcffcef
commit: d0f1afd9425e28409fbf535bb7d43472bfcffcef
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-06-13T13:49:36+02:00
summary:
gh-105373: Remove PyArg_Parse() deprecation (#105394)
There is no plan to deprecate PyArg_Parse().
The deprecation was added as a comment in the C API documentation in
2007 by commit 85eb8c103c9e460917911b43c6be302c30d75efb.
files:
M Doc/c-api/arg.rst
diff --git a/Doc/c-api/arg.rst b/Doc/c-api/arg.rst
index b7cdf293d2238..d2ea490732fe5 100644
--- a/Doc/c-api/arg.rst
+++ b/Doc/c-api/arg.rst
@@ -439,16 +439,24 @@ API Functions
.. versionadded:: 3.2
-.. XXX deprecated, will be removed
.. c:function:: int PyArg_Parse(PyObject *args, const char *format, ...)
- Function used to deconstruct the argument lists of "old-style" functions ---
- these are functions which use the :const:`METH_OLDARGS` parameter parsing
- method, which has been removed in Python 3. This is not recommended for use
- in parameter parsing in new code, and most code in the standard interpreter
- has been modified to no longer use this for that purpose. It does remain a
- convenient way to decompose other tuples, however, and may continue to be
- used for that purpose.
+ Parse the parameter of a function that takes a single positional parameter
+ into a local variable. Returns true on success; on failure, it returns
+ false and raises the appropriate exception.
+
+ Example::
+
+ // Function using METH_O calling convention
+ static PyObject*
+ my_function(PyObject *module, PyObject *arg)
+ {
+ int value;
+ if (!PyArg_Parse(arg, "i:my_function", &value)) {
+ return NULL;
+ }
+ // ... use value ...
+ }
.. c:function:: int PyArg_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, ...)
More information about the Python-checkins
mailing list