Skip to content

[3.15] gh-152502: Detect optional curses functions with configure probes (GH-152504)#152589

Merged
serhiy-storchaka merged 2 commits into
python:3.15from
serhiy-storchaka:backport-0635e55-3.15
Jun 29, 2026
Merged

[3.15] gh-152502: Detect optional curses functions with configure probes (GH-152504)#152589
serhiy-storchaka merged 2 commits into
python:3.15from
serhiy-storchaka:backport-0635e55-3.15

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Jun 29, 2026

Copy link
Copy Markdown
Member

Some curses functions were called unconditionally or gated only by the ncurses-specific NCURSES_EXT_FUNCS macro, which broke building the module against other curses implementations (narrow ncurses, NetBSD curses) even when they provided the function. Detect each with a configure capability probe and gate on HAVE_CURSES_*.
(cherry picked from commit 0635e55)

…re probes (pythonGH-152504)

set_escdelay(), set_tabsize() and the ESCDELAY and TABSIZE variables were
gated only by the ncurses-specific NCURSES_EXT_FUNCS macro, which excluded
them when building against other curses implementations such as NetBSD curses
even when they provided them.  Detect each with a configure capability probe
and gate on HAVE_CURSES_*.
(cherry picked from commit 0635e55)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@serhiy-storchaka serhiy-storchaka enabled auto-merge (squash) June 29, 2026 13:13
@serhiy-storchaka serhiy-storchaka added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes labels Jun 29, 2026
The clinic header was hand-edited; update its checksum to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@serhiy-storchaka serhiy-storchaka merged commit 2a4ffa6 into python:3.15 Jun 29, 2026
56 checks passed
@miss-islington-app

Copy link
Copy Markdown

Thanks @serhiy-storchaka for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13, 3.14.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.14 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 2a4ffa6f2128308ba5ba81a7c8912fb781a271e0 3.14

@miss-islington-app

Copy link
Copy Markdown

Sorry, @serhiy-storchaka, I could not cleanly backport this to 3.13 due to a conflict.
Please backport using cherry_picker on command line.

cherry_picker 2a4ffa6f2128308ba5ba81a7c8912fb781a271e0 3.13

@bedevere-app

bedevere-app Bot commented Jun 29, 2026

Copy link
Copy Markdown

GH-152602 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 bugs and security fixes label Jun 29, 2026
@bedevere-app

bedevere-app Bot commented Jun 29, 2026

Copy link
Copy Markdown

GH-152603 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Jun 29, 2026
serhiy-storchaka added a commit that referenced this pull request Jun 29, 2026
…bes (GH-152504) (GH-152589) (GH-152603)

set_escdelay(), set_tabsize() and the ESCDELAY and TABSIZE variables were
gated only by the ncurses-specific NCURSES_EXT_FUNCS macro, which excluded
them when building against other curses implementations such as NetBSD curses
even when they provided them.  Detect each with a configure capability probe
and gate on HAVE_CURSES_*.
(cherry picked from commit 0635e55)
(cherry picked from commit 2a4ffa6)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
serhiy-storchaka added a commit that referenced this pull request Jun 29, 2026
…bes (GH-152504) (GH-152589) (GH-152602)

set_escdelay(), set_tabsize() and the ESCDELAY and TABSIZE variables were
gated only by the ncurses-specific NCURSES_EXT_FUNCS macro, which excluded
them when building against other curses implementations such as NetBSD curses
even when they provided them.  Detect each with a configure capability probe
and gate on HAVE_CURSES_*.
(cherry picked from commit 0635e55)
(cherry picked from commit 2a4ffa6)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant