Skip to content

[3.14] gh-55646: Do not crash IDLE on an invalid key binding (GH-152747) - #158150

Merged
terryjreedy merged 1 commit into
python:3.14from
miss-islington:backport-b954645-3.14
Sep 25, 2026
Merged

terryjreedy merged 1 commit into
python:3.14from
miss-islington:backport-b954645-3.14

Conversation

@miss-islington

@miss-islington miss-islington commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

A typo in a key binding, such as for , crashed IDLE
at startup. It is now ignored with a warning.

On macOS an invalid binding such as is not parsed into a
MultiCall triplet, so it falls back to Tk's event_add(), which was left
unguarded and still crashed. Guard the fallback too, and test both the
parsed (bind()) and unparsed (event_add()) paths on every platform.


(cherry picked from commit b954645)

Co-authored-by: Serhiy Storchaka storchaka@gmail.com
Co-authored-by: Terry Jan Reedy tjreedy@udel.edu
Co-authored-by: Claude Opus 4.8 noreply@anthropic.com

…-152747)

A typo in a key binding, such as <Alt-Key-up> for <Alt-Key-Up>, crashed IDLE
at startup.  It is now ignored with a warning.

On macOS an invalid binding such as <Alt-Key-up> is not parsed into a
MultiCall triplet, so it falls back to Tk's event_add(), which was left
unguarded and still crashed.  Guard the fallback too, and test both the
parsed (bind()) and unparsed (event_add()) paths on every platform.

---------
(cherry picked from commit b954645)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@terryjreedy
terryjreedy enabled auto-merge (squash) September 25, 2026 02:02
@terryjreedy
terryjreedy merged commit c180433 into python:3.14 Sep 25, 2026
51 checks passed
@miss-islington
miss-islington deleted the backport-b954645-3.14 branch September 25, 2026 02:26
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.

3 participants