You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For external functions and variables, we always have a declaration in an appropriate header file in the "Include" directory, which uses the PyAPI_FUNC() macro, like this: PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
but when i check python 3.7.12+ and python 2.7.13, external variables actually uses the PyAPI_DATA() macro, like this:
Please feel free to submit a PR, but people should not be reading PEP 7 on how to write C extension modules, just how to format C code for CPython's code base.
When I read PEP7 and check Cpython source code, I found a deficiency that in https://www.python.org/dev/peps/pep-0007/#code-lay-out.
In this section, document said that
For external functions and variables, we always have a declaration in an appropriate header file in the "Include" directory, which uses the PyAPI_FUNC() macro, like this: PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
but when i check python 3.7.12+ and python 2.7.13, external variables actually uses the PyAPI_DATA() macro, like this:
PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */
This may confuse beginners, could you please add this info in PEP7?
The text was updated successfully, but these errors were encountered: