diff options
| author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-07-14 09:02:46 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-14 09:02:46 (GMT) |
| commit | e28f863bd5c9f5df6780b17ebb9c3a35ed7fe01e (patch) | |
| tree | e1a8a95b75251ed276624e1655b6df874815c582 | |
| parent | e8594aadd5f8518f147944539c99efe126c20b35 (diff) | |
| download | cpython-e28f863bd5c9f5df6780b17ebb9c3a35ed7fe01e.zip cpython-e28f863bd5c9f5df6780b17ebb9c3a35ed7fe01e.tar.gz cpython-e28f863bd5c9f5df6780b17ebb9c3a35ed7fe01e.tar.bz2 | |
[3.13] gh-121609: Fix pasting of characters containing unicode character joiner (GH-121667) (#121733)
Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
| -rw-r--r-- | Lib/_pyrepl/reader.py | 1 | ||||
| -rw-r--r-- | Lib/test/test_pyrepl/test_reader.py | 6 | ||||
| -rw-r--r-- | Misc/NEWS.d/next/Core_and_Builtins/2024-07-13-09-51-44.gh-issue-121609.jWsE5t.rst | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/Lib/_pyrepl/reader.py b/Lib/_pyrepl/reader.py index 4431b6a..5d83ce4 100644 --- a/Lib/_pyrepl/reader.py +++ b/Lib/_pyrepl/reader.py @@ -58,7 +58,6 @@ def disp_str(buffer: str) -> tuple[str, list[int]]: elif unicodedata.category(c).startswith("C"): c = r"\u%04x" % ord(c) s.append(c) - b.append(str_width(c)) b.extend([0] * (len(c) - 1)) else: s.append(c) diff --git a/Lib/test/test_pyrepl/test_reader.py b/Lib/test/test_pyrepl/test_reader.py index 78b1132..c09838f 100644 --- a/Lib/test/test_pyrepl/test_reader.py +++ b/Lib/test/test_pyrepl/test_reader.py @@ -89,6 +89,12 @@ class TestReader(TestCase): reader.setpos_from_xy(0, 0) self.assertEqual(reader.pos, 0) + def test_control_characters(self): + code = 'flag = "🏳️🌈"' + events = code_to_events(code) + reader, _ = handle_all_events(events) + self.assert_screen_equals(reader, 'flag = "🏳️\\u200d🌈"') + def test_setpos_from_xy_multiple_lines(self): # fmt: off code = ( diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-07-13-09-51-44.gh-issue-121609.jWsE5t.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-07-13-09-51-44.gh-issue-121609.jWsE5t.rst new file mode 100644 index 0000000..72b5c07 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2024-07-13-09-51-44.gh-issue-121609.jWsE5t.rst @@ -0,0 +1 @@ +Fix pasting of characters containing unicode character joiners in the new REPL. Patch by Marta Gomez Macias |
