[Python-Dev] Make the stable API-ABI usable

Serhiy Storchaka storchaka at gmail.com
Sat Nov 18 04:42:36 EST 2017

18.11.17 11:13, Victor Stinner пише:
> The idea behind adding PyTuple_GET_ITEM() is to be able to compile C 
> extensions using it, without having to modify the code.

The simplest way to do this:

#define PyTuple_GET_ITEM PyTuple_GetItem

This will not add new names to ABI. Such defines can be added in a 
separate header file included for compatibility.

In any case making PyTuple_GET_ITEM() a function will break the 
following code:

     PyObject **items = &PyTuple_GET_ITEM(tuple, 0);
     Py_ssize_t size = PyTuple_GET_SIZE(tuple, 0);
     foo(items, size);

More information about the Python-Dev mailing list