]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-137113 docs: note readline no longer supported in REPL after 3.13 (GH-137142)
authorKuang Yu Heng <yuheng3107@gmail.com>
Mon, 12 Jan 2026 15:30:35 +0000 (07:30 -0800)
committerGitHub <noreply@github.com>
Mon, 12 Jan 2026 15:30:35 +0000 (15:30 +0000)
Add a note to the readline module documentation stating that
Python 3.13 and later no longer supports readline in the default REPL,
as per gh-118840. Includes workaround using PYTHON_BASIC_REPL.

Update tutorial to remove the reference, and use a different key to
test things out.

Signed-off-by: Kuang Yu Heng <yuheng3107@gmail.com>
Doc/library/readline.rst
Doc/tutorial/interpreter.rst

index 0449682585c8d0b195eabd49d9bbdd54cf503522..199e17595f41acf7b084c042bb530b2cfc267930 100644 (file)
@@ -403,3 +403,9 @@ support history save/restore. ::
        def save_history(self, histfile):
            readline.set_history_length(1000)
            readline.write_history_file(histfile)
+
+.. note::
+
+   The new :term:`REPL` introduced in version 3.13 doesn't support readline.
+   However, readline can still be used by setting the :envvar:`PYTHON_BASIC_REPL`
+   environment variable.
index cd52607142485e6aae1cbcbde90302026bcde6ca..72cac1c1e909d35c4773580f832cf24d3fe06646 100644 (file)
@@ -34,13 +34,13 @@ status.  If that doesn't work, you can exit the interpreter by typing the
 following command: ``quit()``.
 
 The interpreter's line-editing features include interactive editing, history
-substitution and code completion on systems that support the `GNU Readline
-<https://tiswww.case.edu/php/chet/readline/rltop.html>`_ library.
+substitution and code completion on most systems.
 Perhaps the quickest check to see whether command line editing is supported is
-typing :kbd:`Control-P` to the first Python prompt you get.  If it beeps, you
-have command line editing; see Appendix :ref:`tut-interacting` for an
-introduction to the keys.  If nothing appears to happen, or if ``^P`` is
-echoed, command line editing isn't available; you'll only be able to use
+typing a word in on the Python prompt, then pressing Left arrow (or :kbd:`Control-b`).
+If the cursor moves, you have command line editing; see Appendix
+:ref:`tut-interacting` for an introduction to the keys.
+If nothing appears to happen, or if a sequence like ``^[[D`` or ``^B`` appears,
+command line editing isn't available; you'll only be able to use
 backspace to remove characters from the current line.
 
 The interpreter operates somewhat like the Unix shell: when called with standard