[3.13] gh-121295: Fix blocked console after interrupting a long paste (GH-121815) (GH-121826)

(cherry picked from commit 498a94c198)

Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
This commit is contained in:
Miss Islington (bot) 2024-07-16 08:29:04 +02:00 committed by GitHub
parent 73f77e642a
commit 4a62fdf35d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 1 deletions

View file

@ -157,7 +157,15 @@ def run_multiline_interactive_console(
assert not more
input_n += 1
except KeyboardInterrupt:
console.write("KeyboardInterrupt\n")
r = _get_reader()
if r.last_command and 'isearch' in r.last_command.__name__:
r.isearch_direction = ''
r.console.forgetinput()
r.pop_input_trans()
r.dirty = True
r.refresh()
r.in_bracketed_paste = False
console.write("\nKeyboardInterrupt\n")
console.resetbuffer()
except MemoryError:
console.write("\nMemoryError\n")

View file

@ -0,0 +1,2 @@
Fix PyREPL console getting into a blocked state after interrupting a long
paste