https://github.com/python/cpython/commit/aad438b0b61206ff67f32aa1ca24792f26f6fff9 commit: aad438b0b61206ff67f32aa1ca24792f26f6fff9 branch: main author: Serhiy Storchaka <[email protected]> committer: serhiy-storchaka <[email protected]> date: 2026-07-23T17:48:17+03:00 summary:
gh-154525: Fix curses getcchar() failure on ncurses older than 6.3 (GH-154526) getcchar() rejected a non-NULL opts argument before ncurses 6.3, so read the color pair through the short slot instead. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> files: M Modules/_cursesmodule.c diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c index 6df593001b8a1c..f893c2080fc3f3 100644 --- a/Modules/_cursesmodule.c +++ b/Modules/_cursesmodule.c @@ -763,7 +763,9 @@ curses_getcchar(const cchar_t *wcval, wchar_t *wstr, attr_t *attrs, int *pair) /* getcchar() is not guaranteed to write the text of an empty cell, so make the output an empty string by default. */ wstr[0] = L'\0'; -#if _NCURSES_EXTENDED_COLOR_FUNCS + /* getcchar()'s opts slot returns the extended color pair, but ncurses + returned ERR for a non-NULL opts until 6.3 (patch 20210116). */ +#if _NCURSES_EXTENDED_COLOR_FUNCS && NCURSES_VERSION_PATCH+0 >= 20210116 int rtn = getcchar(wcval, wstr, attrs, &spair, pair); #else int rtn = getcchar(wcval, wstr, attrs, &spair, NULL); _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
