Description
Bug report
Bug description:
Hi dear core developers,
I was playing with the newest REPL v3.130b1 on my M2 MacBook Pro with macOS 14.3. I built the python binary from the source at commit b62cb5234b
. It's really impressive and exciting to see how much the standard REPL has evolved in this version.
However the bug occurred while I was playing with the auto-completion on the command. Says I want to see what operations are there under datetime
module, type datetime.
and press Tab
twice, the suggestions show up correctly. But when I try to surf the suggestions with arrow keys pressed several times, I got the AssertionError
:
Python 3.13.0b1+ (heads/3.13:b62cb5234b, May 10 2024, 10:17:59) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
datetime.MAXYEAR datetime.date( datetime.time( datetime.tzinfo(
datetime.MINYEAR datetime.datetime( datetime.timedelta(
Traceback (most recent call last):atetime_CAPI datetime.timezone(
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/Users/thmac-02/cpython/Lib/_pyrepl/__main__.py", line 47, in <module>
interactive_console()
~~~~~~~~~~~~~~~~~~~^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/__main__.py", line 44, in interactive_console
return run_interactive(mainmodule)
File "/Users/thmac-02/cpython/Lib/_pyrepl/simple_interact.py", line 138, in run_multiline_interactive_console
statement, contains_pasted_code = multiline_input(more_lines, ps1, ps2)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/readline.py", line 301, in multiline_input
return reader.readline(), reader.was_paste_mode_activated
~~~~~~~~~~~~~~~^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/reader.py", line 652, in readline
self.handle1()
~~~~~~~~~~~~^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/reader.py", line 635, in handle1
self.do_cmd(cmd)
~~~~~~~~~~~^^^^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/reader.py", line 589, in do_cmd
self.update_cursor()
~~~~~~~~~~~~~~~~~~^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/reader.py", line 499, in update_cursor
self.cxy = self.pos2xy()
~~~~~~~~~~~^^
File "/Users/thmac-02/cpython/Lib/_pyrepl/reader.py", line 471, in pos2xy
assert 0 <= pos <= len(self.buffer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
Not sure if this is the intended behavior of using the new REPL, but I still hope this could be solved as this can largely improve the user experience of using the new auto-completion feature.
Thanks for all your hard works, the new python features are really awesome. Can't wait to see the final release ^^ It's my first issue sending to cpython, and sorry if there is any missing information I did not provide.
CPython versions tested on:
3.13
Operating systems tested on:
macOS