bpo-37194: Complete PyObject_CallXXX() docs (GH-14156) (GH-14157)

Mention explicitly that PyObject_CallXXX() functions raise an
exception an failure.

(cherry picked from commit 1ce2656f13)
This commit is contained in:
Victor Stinner 2019-06-17 15:23:59 +02:00 committed by GitHub
parent 988fff5d0e
commit 71031cf4ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 7 deletions

View File

@ -261,7 +261,8 @@ Object Protocol
*args* must not be *NULL*, use an empty tuple if no arguments are needed.
If no named arguments are needed, *kwargs* can be *NULL*.
Returns the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This is the equivalent of the Python expression:
``callable(*args, **kwargs)``.
@ -272,7 +273,8 @@ Object Protocol
Call a callable Python object *callable*, with arguments given by the
tuple *args*. If no arguments are needed, then *args* can be *NULL*.
Returns the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This is the equivalent of the Python expression: ``callable(*args)``.
@ -283,7 +285,8 @@ Object Protocol
The C arguments are described using a :c:func:`Py_BuildValue` style format
string. The format can be *NULL*, indicating that no arguments are provided.
Returns the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This is the equivalent of the Python expression: ``callable(*args)``.
@ -302,7 +305,8 @@ Object Protocol
The format can be *NULL*, indicating that no arguments are provided.
Returns the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This is the equivalent of the Python expression:
``obj.name(arg1, arg2, ...)``.
@ -320,7 +324,8 @@ Object Protocol
:c:type:`PyObject\*` arguments. The arguments are provided as a variable number
of parameters followed by *NULL*.
Returns the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This is the equivalent of the Python expression:
``callable(arg1, arg2, ...)``.
@ -331,7 +336,9 @@ Object Protocol
Calls a method of the Python object *obj*, where the name of the method is given as a
Python string object in *name*. It is called with a variable number of
:c:type:`PyObject\*` arguments. The arguments are provided as a variable number
of parameters followed by *NULL*. Returns the result of the call on success, or
of parameters followed by *NULL*.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
@ -355,7 +362,8 @@ Object Protocol
*kwnames* must contain only objects of type ``str`` (not a subclass),
and all keys must be unique.
Return the result of the call on success, or *NULL* on failure.
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
This uses the vectorcall protocol if the callable supports it;
otherwise, the arguments are converted to use