Skip to content

[pull] main from python:main - #1397

Merged
pull[bot] merged 11 commits into
tj-python:mainfrom
python:main
Aug 21, 2026
Merged

[pull] main from python:main#1397
pull[bot] merged 11 commits into
tj-python:mainfrom
python:main

Conversation

@pull

@pull pull Bot commented Aug 21, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

serhiy-storchaka and others added 11 commits August 21, 2026 09:35
…56103)

The setter did not check the value for NULL and passed it to Py_fopen().
…tion (GH-156139)

addstr(), addnstr(), insstr() and insnstr() saved the window rendition with
getattrs() and put it back with wattrset(), whose A_COLOR field holds only
pairs 0 to 255, so a window using a larger pair lost it.  Save and restore
the pair with wattr_get() and wattr_set() where they exist.
They are the counterparts of the ACS_* line-drawing codes as complexchar
cells, added to the module by initscr() and newterm() like the ACS_* ones.
Besides the codes that mirror the ACS_* ones, ncurses provides the
double-line and thick-line families, which have no ACS_* counterpart.
…H-156104)

Deleting the attribute crashed, and setting it to an integer which does not
fit in C long reported success with OverflowError set.
In the free-threaded build the setter passed the value to
Py_BEGIN_CRITICAL_SECTION2() before checking it for NULL.
…6105)

PyLong_AsUInt32() stores 0 in the target on error, so the attribute was
clobbered when the assigned value was too large.
)

The integer 0 asks for the default character, but it was rejected when
passed together with a string character.  Choose the drawing function by
what the arguments need: only a complexchar cannot be drawn as a byte
character, and a string character is narrowed when one is needed.

Document the defaults as 0 rather than as the ACS_* codes, which are not
defined before initscr().

* Remove the NEWS entry

The regression is not in any release: wide characters in border() and box()
are new in 3.16.
The setter released the old callback before validating the new value,
so a failed assignment or a deletion removed it.
@pull pull Bot locked and limited conversation to collaborators Aug 21, 2026
@pull pull Bot added the ⤵️ pull label Aug 21, 2026
@pull
pull Bot merged commit 67f4d53 into tj-python:main Aug 21, 2026
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants