[Python-Dev] Make the stable API-ABI usable (original) (raw)

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 PyTupleGETITEM() 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