Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Crash report
What happened?
To reproduce, start the new Python REPL in 3.13.0b3 and start to assign a string:
$ python3.13Python 3.13.0b3 (main, Jul 2 2024, 13:24:06) [GCC 11.4.0] on linuxType"help","copyright","credits" or"license"for more information.>>> flag ='
Then paste 🏳️🌈 and this happens:
$ python3.13Python 3.13.0b3 (main, Jul 2 2024, 13:24:06) [GCC 11.4.0] on linuxType"help","copyright","credits" or"license"for more information.>>> flag ='Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/__main__.py", line 3, in <module> __pyrepl_interactive_console() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/main.py", line 55, in interactive_console run_interactive(namespace) ~~~~~~~~~~~~~~~^^^^^^^^^^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/simple_interact.py", line 144, in run_multiline_interactive_console statement = multiline_input(more_lines, ps1, ps2) File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/readline.py", line 385, in multiline_input return reader.readline() ~~~~~~~~~~~~~~~^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 768, in readline self.handle1() ~~~~~~~~~~~~^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 751, in handle1 self.do_cmd(cmd) ~~~~~~~~~~~^^^^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 695, in do_cmd self.refresh() ~~~~~~~~~~~~^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 672, in refresh self.screen = self.calc_screen() ~~~~~~~~~~~~~~~~^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/completing_reader.py", line 261, in calc_screen screen = super().calc_screen() File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 360, in calc_screen l, l2 = disp_str(line) ~~~~~~~~^^^^^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/reader.py", line 61, in disp_str b.append(str_width(c)) ~~~~~~~~~^^^ File "/home/trey/.pyenv/versions/3.13.0b3/lib/python3.13/_pyrepl/utils.py", line 10, in str_width if ord(c) < 128: ~~~^^^TypeError: ord() expected a character, but string of length 6 found
This looks like an issue with multiple-character glyphs, as 🏴 causes the same issue.
I found myself at my system command prompt after this (Python had exited).
I initially tested this on Python 3.13.0b3, but I also reproduced the issue on the currentmain branch.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux
Output from running 'python -VV' on the command line:
Python 3.13.0b3 (main, Jul 2 2024, 13:24:06) [GCC 11.4.0]