Open
Description
The following public C API is new in 3.14 (beta 3, relative to 3.13.0), and as of this writing it looks either:
- undocumented,
- documented incorrectly, or
- public by mistake.
previously: 3.13
-
Py_INCREF_MORTAL: Include/refcount.h:251 (Use tagged pointers on the stack in the default build. #127705 (comment)) -
MAX_SCRIPT_PATH_SIZE: Include/cpython/pystate.h:31 (PEP 768) -
PyFunction_GET_BUILTINS: Include/cpython/funcobject.h:100 (added in gh-132775: Add _PyCode_GetVarCounts() #133128; assigned to @ZeroIntensity) (gh-135755: Document the newPyFunction_GET_BUILTINSmacro #135934) -
struct _remote_debugger_support: Include/cpython/pystate.h:32 (PEP 768)
"PYOS" (#130396 (comment)):
-
PYOS_LOG2_STACK_MARGIN: Include/pythonrun.h -
PYOS_STACK_MARGIN_BYTES: Include/pythonrun.h -
PYOS_STACK_MARGIN_SHIFT: Include/pythonrun.h
"SPECIAL" (#135922):
-
SPECIAL_MAX: Include/ceval.h -
SPECIAL___AENTER__: Include/ceval.h -
SPECIAL___AEXIT__: Include/ceval.h -
SPECIAL___ENTER__: Include/ceval.h -
SPECIAL___EXIT__: Include/ceval.h
Header guards (traditionally named Py_*_H, but a leading underscore would be better for new ones) (#135921):
-
Py_AUDIT_H: Include/audit.h -
Py_CPYTHON_AUDIT_H: Include/audit.h -
Py_REFCOUNT_H: Include/refcount.h
New configure constants.
(IMO, if we don't want users to touch these, they should use the _Py prefix.
If we do want users to use them, they need docs.)
-
Py_FFI_SUPPORT_C_COMPLEX(gh-125206: Make _Py_FFI_SUPPORT_C_COMPLEX private #135932) -
Py_NORMALIZE_CENTURY -
Py_REMOTE_DEBUG(gh-131591: Document Py_REMOTE_DEBUG #135929) -
HACL_CAN_COMPILE_SIMD128(gh-135755: rename undocumentedHACL_CAN_COMPILE_SIMD{128,256}macros #135847) -
HACL_CAN_COMPILE_SIMD256(gh-135755: rename undocumentedHACL_CAN_COMPILE_SIMD{128,256}macros #135847)
New HAVE configure constants -- a lost cause:
-
HAVE_BACKTRACE -
HAVE_DECL_UT_NAMESIZE -
HAVE_DLADDR -
HAVE_DLADDR1 -
HAVE_EXECINFO_H -
HAVE_GETLOGIN_R -
HAVE_LINK_H -
HAVE_LINUX_NETFILTER_IPV4_H -
HAVE_LINUX_SCHED_H -
HAVE_PTHREAD_GETATTR_NP -
HAVE_PTHREAD_GETNAME_NP -
HAVE_PTHREAD_SETNAME_NP -
HAVE_SYS_PIDFD_H3 -
HAVE_TTYNAME_R -
HAVE_USABLE_WCHAR_T -
HAVE_UT_NAMESIZE
New CO_ flags (documented in inspect; Sphinx sees none of these as C macros):
-
CO_HAS_DOCSTRING: Include/cpython/code.h:115 -
CO_METHOD: Include/cpython/code.h:115
Linked PRs
- gh-135755: Docs: C API: Document missing
PyFunction_GET*macros #135762 - gh-135755: rename undocumented
HACL_CAN_COMPILE_SIMD{128,256}macros #135847 - gh-95245: Document Py_TPFLAGS_PREHEADER #135861
- [3.14] gh-135755: Docs: C API: Document missing
PyFunction_GET*macros (GH-135762) #135916 - [3.13] gh-135755: Docs: C API: Document missing
PyFunction_GET*macros (GH-135762) #135917 - gh-135755: Use private names (_Py*) for header file guards new in 3.14 #135921
- gh-135755: Move SPECIAL_ constants to a private header #135922
- [3.14] gh-135755: Move SPECIAL_ constants to a private header (GH-135922) #135926
- gh-135755: Document the new
PyFunction_GET_BUILTINSmacro #135934 - gh-135755: Move
PyFunction_GET_BUILTINSto the private API #135938
- Check links above! I prefer attaching doc fixes & renames to issues that added the API.
Metadata
Metadata
Assignees
Projects
Status
Todo