Skip to content

Commit 0811bdd

Browse files
don't use undo estimate if taking back line of multiline input
1 parent 408260d commit 0811bdd

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

bpython/curtsiesfrontend/repl.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,7 @@ def reprint_line(self, lineno, tokens):
12861286
self.display_buffer[lineno] = bpythonparse(format(tokens, self.formatter))
12871287

12881288
def take_back_buffer_line(self):
1289+
self.history = self.history[:-1]
12891290
self.display_buffer.pop()
12901291
self.buffer.pop()
12911292

@@ -1299,10 +1300,16 @@ def take_back_buffer_line(self):
12991300
self.cursor_offset = len(self.current_line)
13001301

13011302
def prompt_undo(self):
1303+
if self.buffer:
1304+
return self.take_back_buffer_line()
1305+
1306+
self.reevaluate()
1307+
13021308
def prompt_for_undo():
13031309
n = BpythonRepl.prompt_undo(self)
13041310
if n > 0:
13051311
self.request_undo(n=n)
1312+
13061313
greenlet.greenlet(prompt_for_undo).switch()
13071314

13081315
def reevaluate(self, insert_into_history=False):

bpython/repl.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -868,11 +868,7 @@ def undo(self, n=1):
868868
entries = list(self.rl_history.entries)
869869

870870
self.history = self.history[:-n]
871-
if (n == 1 and self.buffer and
872-
hasattr(self, 'take_back_buffer_line')):
873-
self.take_back_buffer_line()
874-
else:
875-
self.reevaluate()
871+
self.reevaluate()
876872

877873
self.rl_history.entries = entries
878874

0 commit comments

Comments
 (0)