]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.13] gh-153862: Fix curses window.inch() for non-ASCII characters on a wide build...
authorSerhiy Storchaka <storchaka@gmail.com>
Sun, 19 Jul 2026 15:18:02 +0000 (18:18 +0300)
committerGitHub <noreply@github.com>
Sun, 19 Jul 2026 15:18:02 +0000 (15:18 +0000)
commit56cfdb04c2582702a510f4802c6f1100e46801ea
treecb76bae2730f6a5556615bca8959f7492a309d9b
parentfb9a98ab0089c0340168f62a70cfbe2945fba494
[3.13] gh-153862: Fix curses window.inch() for non-ASCII characters on a wide build (GH-153863) (GH-154153)

On a wide build, winch() returns the low 8 bits of the character's code
point with no locale conversion, so inch()/mvinch() disagreed with instr()
for a non-ASCII character of an 8-bit locale ('€' under ISO-8859-15 gave
0xAC instead of 0xA4).  Re-encode the cell to its locale byte via wctob(),
as ncurses does for getbkgd().

(cherry picked from commit a83aaa91490d5885949eb0780a37b15963b6d0f3)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Doc/library/curses.rst
Lib/test/test_curses.py
Misc/NEWS.d/next/Library/2026-07-17-20-31-00.gh-issue-153862.X3kjoY.rst [new file with mode: 0644]
Modules/_cursesmodule.c