On Sun, Oct 28, 2018, at 14:30, Victor Stinner wrote:
> Le dim. 28 oct. 2018 à 21:50, Benjamin Peterson <benja...@python.org> a écrit 
> :
> > I don't think more or less API should be magically included based on 
> > whether Py_BUILD_CORE is defined or not. If we want to have private 
> > headers, we should include them where needed and not install them. Really, 
> > Py_BUILD_CORE should go away. We should be moving away from monolithic 
> > includes like Python.h to having each C file include exactly what it uses, 
> > private or not.
> 
> I would prefer to avoid annoying with the backward compatibility.
> Currently, #include <Python.h> more or less provides you "anything"
> and I'm fine with that.

It doesn't break backward compatibility if you only make this required for new 
APIs.

> 
> I prefer to no put too many changes at once :-)
> 
> My overall approach is to make sure that we don't leak functions by
> mistakes into the public API or into the stable API anymore. For
> example, if a function is really for the core, put it in pycore/. It
> will be more explicit when reviewing a change for example.

How does the current Include/internal/ directory fail at accomplishing your 
goal?

> 
> Py_BUILD_CORE is not only used to select which functions you get.
> Py_BUILD_CORE is also commonly used to get a macro instead of a
> function call, for best performances.

I think the macro and function versions should just have different names then.
_______________________________________________
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