.. versionadded:: 3.9
+.. c:function:: PyObject* _PyObject_Vectorcall(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwnames)
+ :no-typesetting:
.. c:function:: PyObject* PyObject_Vectorcall(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwnames)
Return the result of the call on success, or raise an exception and return
*NULL* on failure.
- .. versionadded:: 3.9
+ .. versionadded:: 3.8 as ``_PyObject_Vectorcall``
+
+ .. versionchanged:: 3.9
+
+ Renamed to the current name, without the leading underscore.
+ The old provisional name is :term:`soft deprecated`.
.. c:function:: PyObject* PyObject_VectorcallDict(PyObject *callable, PyObject *const *args, size_t nargsf, PyObject *kwdict)
The old name is deprecated, but will remain available until the
signature changes again.
+.. c:function:: PyCodeObject* PyCode_NewWithPosOnlyArgs(...)
+ :no-typesetting:
+
.. c:function:: PyCodeObject* PyUnstable_Code_NewWithPosOnlyArgs(int argcount, int posonlyargcount, int kwonlyargcount, int nlocals, int stacksize, int flags, PyObject *code, PyObject *consts, PyObject *names, PyObject *varnames, PyObject *freevars, PyObject *cellvars, PyObject *filename, PyObject *name, PyObject *qualname, int firstlineno, PyObject *linetable, PyObject *exceptiontable)
Similar to :c:func:`PyUnstable_Code_New`, but with an extra "posonlyargcount" for positional-only arguments.
The same caveats that apply to ``PyUnstable_Code_New`` also apply to this function.
- .. index:: single: PyCode_NewWithPosOnlyArgs (C function)
-
.. versionadded:: 3.8 as ``PyCode_NewWithPosOnlyArgs``
.. versionchanged:: 3.11
this functionality is a CPython implementation detail, and the API
may change without deprecation warnings.
+.. c:function:: Py_ssize_t _PyEval_RequestCodeExtraIndex(freefunc free)
+ :no-typesetting:
+
.. c:function:: Py_ssize_t PyUnstable_Eval_RequestCodeExtraIndex(freefunc free)
Return a new opaque index value used to adding data to code objects.
*free* will be called on non-``NULL`` data stored under the new index.
Use :c:func:`Py_DecRef` when storing :c:type:`PyObject`.
- .. index:: single: _PyEval_RequestCodeExtraIndex (C function)
-
.. versionadded:: 3.6 as ``_PyEval_RequestCodeExtraIndex``
.. versionchanged:: 3.12
The old private name is deprecated, but will be available until the API
changes.
+.. c:function:: int _PyCode_GetExtra(PyObject *code, Py_ssize_t index, void **extra)
+ :no-typesetting:
+
.. c:function:: int PyUnstable_Code_GetExtra(PyObject *code, Py_ssize_t index, void **extra)
Set *extra* to the extra data stored under the given index.
If no data was set under the index, set *extra* to ``NULL`` and return
0 without setting an exception.
- .. index:: single: _PyCode_GetExtra (C function)
-
.. versionadded:: 3.6 as ``_PyCode_GetExtra``
.. versionchanged:: 3.12
The old private name is deprecated, but will be available until the API
changes.
+.. c:function:: int _PyCode_SetExtra(PyObject *code, Py_ssize_t index, void *extra)
+ :no-typesetting:
+
.. c:function:: int PyUnstable_Code_SetExtra(PyObject *code, Py_ssize_t index, void *extra)
Set the extra data stored under the given index to *extra*.
Return 0 on success. Set an exception and return -1 on failure.
- .. index:: single: _PyCode_SetExtra (C function)
-
.. versionadded:: 3.6 as ``_PyCode_SetExtra``
.. versionchanged:: 3.12
type structure.
+ .. c:macro:: _Py_TPFLAGS_HAVE_VECTORCALL
+ :no-typesetting:
+
.. c:macro:: Py_TPFLAGS_HAVE_VECTORCALL
This bit is set when the class implements
This bit is inherited if :c:member:`~PyTypeObject.tp_call` is also
inherited.
- .. versionadded:: 3.9
+ .. versionadded:: 3.8 as ``_Py_TPFLAGS_HAVE_VECTORCALL``
+
+ .. versionchanged:: 3.9
+
+ Renamed to the current name, without the leading underscore.
+ The old provisional name is :term:`soft deprecated`.
.. versionchanged:: 3.12