| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…tbox Read input with get_wch() and the window back with in_wch(), so combining characters and characters outside the locale encoding now work where curses has wide-character support. edit() passes non-ASCII characters to validate() as strings, keeping ASCII and key codes as integers so existing validators keep working. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Documentation build overview3 files changed ± library/curses.html ± whatsnew/3.16.html ± whatsnew/changelog.html |
Sorry, something went wrong.
|
Looks like this is failing on the ARM64 MacOS M1 NoGIL 3.x buildbot, for example: ======================================================================
ERROR: test_textbox_edit_wide (test.test_curses.TestCurses.test_textbox_edit_wide) (ch='é')
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/buildbot/buildarea/3.x.itamaro-macos-arm64-aws.macos-with-brew.nogil/build/Lib/test/test_curses.py", line 2354, in test_textbox_edit_wide
curses.unget_wch(c)
~~~~~~~~~~~~~~~~^^^
OverflowError: character does not fit in a single bytehttps://buildbot.python.org/#/builders/1270/builds/7928 And likely some of the other buildbot failures: https://buildbot.python.org/#/release_status |
Sorry, something went wrong.
|
Thanks. Should be fixed in #152592. |
Sorry, something went wrong.
|
The failure is still there: https://buildbot.python.org/#/builders/1270/builds/7968 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Follow-up to #152451 (which fixed 8-bit non-ASCII handling).
curses.textpad.Textbox now reads input with get_wch() and the window back with in_wch(), so the full Unicode range -- including combining characters -- is entered and read back when curses is built with wide-character support.
Because those methods are now available on every build, the widget uses a single code path: without wide-character support a cell holds a single byte, so there it stays limited to an 8-bit locale encoding.
edit() passes non-ASCII characters to validate() and the command dispatch as strings, keeping ASCII characters and key codes as integers so existing validators keep working.
Verified on both wide (UTF-8) and narrow (ISO-8859-15, KOI8-U) builds.
🤖 Generated with Claude Code