From 2d360ab97146249652961b131fa5cd6ee251039d Mon Sep 17 00:00:00 2001 From: johnslavik Date: Wed, 8 Apr 2026 14:00:25 +0200 Subject: [PATCH 1/2] Fix history mode exiting on Windows --- Lib/_pyrepl/commands.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Lib/_pyrepl/commands.py b/Lib/_pyrepl/commands.py index cb434e5d9f67b6..e79fbfa6bb0b38 100644 --- a/Lib/_pyrepl/commands.py +++ b/Lib/_pyrepl/commands.py @@ -485,16 +485,17 @@ def do(self) -> None: from .pager import get_pager from site import gethistoryfile + # After the pager exits, the screen state is unknown (Unix may + # restore via alternate screen, Windows shows pager output). + # Clear and force a full redraw at the end for consistency. + self.reader.console.clear() + history = os.linesep.join(self.reader.history[:]) self.reader.console.restore() pager = get_pager() pager(history, gethistoryfile()) self.reader.console.prepare() - # After the pager exits, the screen state is unknown (Unix may - # restore via alternate screen, Windows shows pager output). - # Clear and force a full redraw for consistency. - self.reader.console.clear() self.reader.invalidate_full() From 2a4f5a1d4bd924b65ce47a7f3b64216b40bf0332 Mon Sep 17 00:00:00 2001 From: johnslavik Date: Wed, 8 Apr 2026 14:50:45 +0200 Subject: [PATCH 2/2] Lint (fix trailing whitespace) --- Lib/_pyrepl/unix_console.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/_pyrepl/unix_console.py b/Lib/_pyrepl/unix_console.py index f61642e21fb3c1..0cb31a151c9d39 100644 --- a/Lib/_pyrepl/unix_console.py +++ b/Lib/_pyrepl/unix_console.py @@ -155,7 +155,7 @@ class UnixRefreshPlan: After the user types ``e`` to complete ``name``:: - Before: >>> def greet(nam|): + Before: >>> def greet(nam|): ▲ LineUpdate here: insert_char "e"