Skip to content

Undocumented 3.14 C API #135755

Open
Open
@encukou

Description

@encukou

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
  • MAX_SCRIPT_PATH_SIZE: Include/cpython/pystate.h:31
  • PyFunction_GET_BUILTINS: Include/cpython/funcobject.h:100
  • struct _remote_debugger_support: Include/cpython/pystate.h:32

"PYOS":

  • PYOS_LOG2_STACK_MARGIN: Include/pythonrun.h
  • PYOS_STACK_MARGIN_BYTES: Include/pythonrun.h
  • PYOS_STACK_MARGIN_SHIFT: Include/pythonrun.h

"SPECIAL":

  • 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):

  • 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
  • Py_NORMALIZE_CENTURY
  • Py_REMOTE_DEBUG
  • HACL_CAN_COMPILE_SIMD128
  • HACL_CAN_COMPILE_SIMD256

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.14bugs and security fixesdocsDocumentation in the Doc dirtopic-C-API

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions