@@ -42,7 +42,10 @@ PyAPI_DATA(PyTypeObject) PyTupleIter_Type;
4242
4343PyAPI_FUNC (PyObject * ) PyTuple_New (Py_ssize_t size );
4444PyAPI_FUNC (Py_ssize_t ) PyTuple_Size (PyObject * );
45+ #ifndef Py_NO_BORROWED_REF
4546PyAPI_FUNC (PyObject * ) PyTuple_GetItem (PyObject * , Py_ssize_t );
47+ #endif
48+ PyAPI_FUNC (PyObject * ) PyTuple_GetItemRef (PyObject * , Py_ssize_t );
4649PyAPI_FUNC (int ) PyTuple_SetItem (PyObject * , Py_ssize_t , PyObject * );
4750PyAPI_FUNC (PyObject * ) PyTuple_GetSlice (PyObject * , Py_ssize_t , Py_ssize_t );
4851#ifndef Py_LIMITED_API
@@ -54,16 +57,18 @@ PyAPI_FUNC(void) _PyTuple_MaybeUntrack(PyObject *);
5457#endif
5558
5659#ifdef Py_NEWCAPI_BORROWED_REF
57- #define PyTuple_GET_ITEM (op , i ) PyTuple_GetItem(op, i)
58- #define PyTuple_GET_SIZE (op ) PyTuple_Size(op)
59- #define PyTuple_SET_ITEM (op , i , v ) PyTuple_SetItem(op, i, v)
60+ # define PyTuple_GET_SIZE (op ) PyTuple_Size(op)
61+ # ifdef Py_NEWCAPI_BORROWED_REF
62+ # define PyTuple_GET_ITEM (op , i ) PyTuple_GetItem(op, i)
63+ # define PyTuple_SET_ITEM (op , i , v ) PyTuple_SetItem(op, i, v)
64+ # endif
6065#elif !defined(Py_LIMITED_API )
61- /* Macro, trading safety for speed */
62- #define PyTuple_GET_ITEM (op , i ) (((PyTupleObject *)(op))->ob_item[i])
63- #define PyTuple_GET_SIZE (op ) (assert(PyTuple_Check(op)),Py_SIZE(op))
66+ /* Macro, trading safety for speed */
67+ # define PyTuple_GET_ITEM (op , i ) (((PyTupleObject *)(op))->ob_item[i])
68+ # define PyTuple_GET_SIZE (op ) (assert(PyTuple_Check(op)), Py_SIZE(op))
6469
65- /* Macro, *only* to be used to fill in brand new tuples */
66- #define PyTuple_SET_ITEM (op , i , v ) (((PyTupleObject *)(op))->ob_item[i] = v)
70+ /* Macro, *only* to be used to fill in brand new tuples */
71+ # define PyTuple_SET_ITEM (op , i , v ) (((PyTupleObject *)(op))->ob_item[i] = v)
6772#endif
6873
6974PyAPI_FUNC (int ) PyTuple_ClearFreeList (void );
0 commit comments