diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-05-23 03:46:11 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-23 03:46:11 (GMT) |
commit | dbff1f107731c76770ed279170a709a54601f8be (patch) | |
tree | 0f01e4279c3b0aabec9aff5715a9c56e12b34e7c | |
parent | cd35e9d85a8976facebda41692d38a82a4e168c9 (diff) | |
download | cpython-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.py | 12 |
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: |