mirror of
https://github.com/python/cpython.git
synced 2026-07-25 03:12:54 -04:00
7bbea4f486
The mouse interface (getmouse(), has_mouse(), the BUTTON* constants, window.mouse_trafo(), ...) and the window is_*() state-query methods were gated on ncurses-specific macros, so they were dropped on other curses implementations that provide them, such as NetBSD curses and PDCurses. Gate them instead on configure capability probes (for functions NetBSD curses provides, since it defines no identifying macro) or on NCURSES_EXT_FUNCS or the PDCURSES macro (for functions only ncurses and PDCurses provide). Probe for getmouse() with its X/Open getmouse(MEVENT *) signature, since PDCurses declares an incompatible getmouse(void) unless built for the ncurses mouse API, which PDC_NCMOUSE now always selects. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The Python C API ================ The C API is divided into these sections: 1. ``Include/``: Limited API 2. ``Include/cpython/``: CPython implementation details 3. ``Include/cpython/``, names with the ``PyUnstable_`` prefix: API that can change between minor releases 4. ``Include/internal/``, and any name with ``_`` prefix: The internal API Information on changing the C API is available `in the developer guide`_ .. _in the developer guide: https://devguide.python.org/c-api/