https://github.com/python/cpython/commit/dbff1f107731c76770ed279170a709a54601f8be
commit: dbff1f107731c76770ed279170a709a54601f8be
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: lysnikolaou <[email protected]>
date: 2024-05-22T23:46:11-04:00
summary:

[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 <[email protected]>

files:
M Lib/_pyrepl/reader.py

diff --git a/Lib/_pyrepl/reader.py b/Lib/_pyrepl/reader.py
index 9a207a241d5f8d..40cbe422fabdbe 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]

Reply via email to