Skip to content

[pull] main from python:main#1204

Merged
pull[bot] merged 13 commits into
tj-python:mainfrom
python:main
Jun 27, 2026
Merged

[pull] main from python:main#1204
pull[bot] merged 13 commits into
tj-python:mainfrom
python:main

Conversation

@pull

@pull pull Bot commented Jun 27, 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 13 commits June 27, 2026 14:37
Note in the Bindings and events section that every widget inherits Tk
class bindings for its standard behavior, where they are documented, and
how to suppress an unwanted one by returning "break" from a callback.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
The screen dump embeds raw pointers that change after scr_restore(),
so comparing dump bytes is unreliable.  Test the round-trip functionally
instead.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…-pair packing path (GH-152303)

curses.color_pair() now raises OverflowError for a pair number too large
to be packed, instead of silently masking it to a different pair.

The attr argument of the character-cell and attribute methods (addch,
addstr, attron, attrset and others) now goes through the checked attr
converter, so an out-of-range or non-integer attribute is rejected rather
than silently truncated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…es (#152306)

Co-authored-by: Stan Ulbrych <stan@python.org>
…libpython replaced on disk (#151032)

Co-authored-by: Pablo Galindo <pablogsal@gmail.com>
The binary writer does not currently handle AwaitedInfo samples and
crashes when running in --async-aware mode.
The remote debugging frame cache previously used only the last_profiled_frame address as its cache anchor. If a frame returned and a later frame reused the same _PyInterpreterFrame address, the profiler could accept a stale cache entry and splice parent frames from a different call chain into the current stack.

This adds a last_profiled_frame_seq counter next to last_profiled_frame, increments it when the anchor advances, stores it in frame cache entries, and validates cache hits against both the frame address and the sequence. Cache miss walks now copy stack chunks before storing new cache entries so stored continuations come from a stable snapshot. The new regression test exercises alternating call chains and checks that cached stacks never contain frames from both branches.
@pull pull Bot locked and limited conversation to collaborators Jun 27, 2026
@pull pull Bot added the ⤵️ pull label Jun 27, 2026
@pull pull Bot merged commit 860f8a5 into tj-python:main Jun 27, 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.

9 participants