From 95f05f88f48a3c8e169f5f142771319c818d32a4 Mon Sep 17 00:00:00 2001 From: Matt Van Horn Date: Mon, 9 Mar 2026 23:00:57 -0700 Subject: [PATCH] gh-145694: Update tutorial indentation guidance for PyREPL auto-indent The tutorial stated users must manually type tabs/spaces at the interactive prompt, which is no longer accurate since the PyREPL in Python 3.13+ auto-indents after compound statement headers. Updated to mention both the default REPL behavior and the basic REPL fallback. Co-Authored-By: Claude Opus 4.6 --- Doc/tutorial/introduction.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Doc/tutorial/introduction.rst b/Doc/tutorial/introduction.rst index 7778e37a9adaa9..465c32d0b72431 100644 --- a/Doc/tutorial/introduction.rst +++ b/Doc/tutorial/introduction.rst @@ -532,10 +532,13 @@ This example introduces several new features. and ``!=`` (not equal to). * The *body* of the loop is *indented*: indentation is Python's way of grouping - statements. At the interactive prompt, you have to type a tab or space(s) for - each indented line. In practice you will prepare more complicated input - for Python with a text editor; all decent text editors have an auto-indent - facility. When a compound statement is entered interactively, it must be + statements. At the interactive prompt, the default REPL automatically + indents continuation lines after compound statement headers like ``if`` or + ``while``. In the basic REPL (invoked with :envvar:`PYTHON_BASIC_REPL`) + or in older Python versions, you have to type a tab or space(s) for each + indented line manually. In practice you will prepare more complicated + input for Python with a text editor; all decent text editors have an + auto-indent facility. When a compound statement is entered interactively, it must be followed by a blank line to indicate completion (since the parser cannot guess when you have typed the last line). Note that each line within a basic block must be indented by the same amount.