On 7 November 2013 12:44, Thomas Heller <thel...@ctypes.org> wrote: > PEP 384 describes the stable Python api, available when > Py_LIMITED_API is defined. > > However, there are some (small) changes in the function prototypes > available, one example is (in Python 3.3): > PyObject* PyObject_CallFunction(PyObject *callable, char *format, ...) > > which changed in Python 3.4 to 'const char *format' for the > third argument. > > I know that this is only a subtle difference, but in my case it gives > compiler warnings when I compile my stuff (my stuff is a little bit > special, I have to admit, but anyway). > > I thought that the stable API would keep exactly the same across > releases - is this expectation wrong or is this a bug?
I think you're confusing API with ABI. PEP 384 describes a stable ABI. This means that an extension module can be *binary* compatible with several different Python versions without needing to be recompiled for each particular CPython release. I don't think the change you refer to breaks binary compatibility. Oscar _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com