Le Fri, 18 Oct 2013 20:16:03 +1000,
Nick Coghlan <ncogh...@gmail.com> a écrit :
> >
> > Also, shouldn't it be excluded from the stable/limited API?
> 
> Since it didn't expose any struct layouts, I just followed the
> precedent set by the other PySet_* APIs on that front. Moving it
> would be fine, too, though, since "embedding the interpreter" and
> "using the limited API" don't exactly mix :)

As far as I understand, when we *add* something to the stable ABI, it
should ideally be versioned. There are a couple examples of this in the
include files, e.g.:

  #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
  /* New in 3.3 */
  PyAPI_FUNC(int) PyState_AddModule(PyObject*, struct PyModuleDef*);
  PyAPI_FUNC(int) PyState_RemoveModule(struct PyModuleDef*);
  #endif

(this is so people wanting to conform to e.g. a 3.2-compatible ABI
don't start depending on 3.3-and-upwards stuff by mistake)

However, it seems we haven't been following that rule, for the most
part.

Regards

Antoine.


_______________________________________________
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

Reply via email to