summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2024-05-23 03:46:11 (GMT)
committerGitHub <noreply@github.com>2024-05-23 03:46:11 (GMT)
commitdbff1f107731c76770ed279170a709a54601f8be (patch)
tree0f01e4279c3b0aabec9aff5715a9c56e12b34e7c
parentcd35e9d85a8976facebda41692d38a82a4e168c9 (diff)
downloadcpython-dbff1f107731c76770ed279170a709a54601f8be.zip
cpython-dbff1f107731c76770ed279170a709a54601f8be.tar.gz
cpython-dbff1f107731c76770ed279170a709a54601f8be.tar.bz2
[3.13] gh-119434: Fix culmitive errors in wrapping as lines proceed (GH-119435) (#119441)
Fix culmitive errors in wrapping as lines proceed (cherry picked from commit e3bf5381fd056d0bbdd775463e3724aab2012e45) Co-authored-by: Dino Viehland <dinoviehland@gmail.com>
-rw-r--r--Lib/_pyrepl/reader.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/Lib/_pyrepl/reader.py b/Lib/_pyrepl/reader.py
index 9a207a2..40cbe42 100644
--- a/Lib/_pyrepl/reader.py
+++ b/Lib/_pyrepl/reader.py
@@ -307,7 +307,8 @@ class Reader:
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 @@ class Reader:
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: