https://github.com/python/cpython/commit/e3bf5381fd056d0bbdd775463e3724aab2012e45
commit: e3bf5381fd056d0bbdd775463e3724aab2012e45
branch: main
author: Dino Viehland <[email protected]>
committer: DinoV <[email protected]>
date: 2024-05-22T15:03:32-07:00
summary:
gh-119434: Fix culmitive errors in wrapping as lines proceed (#119435)
Fix culmitive errors in wrapping as lines proceed
files:
M Lib/_pyrepl/reader.py
diff --git a/Lib/_pyrepl/reader.py b/Lib/_pyrepl/reader.py
index 768d45a045e3be..81df0c925ee6cb 100644
--- a/Lib/_pyrepl/reader.py
+++ b/Lib/_pyrepl/reader.py
@@ -307,7 +307,8 @@ def calc_complete_screen(self) -> list[str]:
screen.append(prompt + l)
screeninfo.append((lp, l2))
else:
- for i in range(wrapcount + 1):
+ i = 0
+ while l:
prelen = lp if i == 0 else 0
index_to_wrap_before = 0
column = 0
@@ -317,12 +318,17 @@ def calc_complete_screen(self) -> list[str]:
index_to_wrap_before += 1
column += character_width
pre = prompt if i == 0 else ""
- post = "\\" if i != wrapcount else ""
- after = [1] if i != wrapcount else []
+ if len(l) > index_to_wrap_before:
+ post = "\\"
+ after = [1]
+ else:
+ post = ""
+ after = []
screen.append(pre + l[:index_to_wrap_before] + post)
screeninfo.append((prelen, l2[:index_to_wrap_before] +
after))
l = l[index_to_wrap_before:]
l2 = l2[index_to_wrap_before:]
+ i += 1
self.screeninfo = screeninfo
self.cxy = self.pos2xy()
if self.msg and self.msg_at_bottom:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]