[3.14] gh-139065: Fix trailing space before long word in textwrap (GH-139070) (GH-139902)

Fix trailing space before a wrapped long word if the line length with
a space is exactly "width".
(cherry picked from commit 1c598e0436)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Miss Islington (bot) 2025-10-10 15:54:46 +02:00 committed by GitHub
parent 08738ce521
commit ade6dea24b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 3 deletions

View file

@ -605,7 +605,7 @@ def test_break_long(self):
# bug 1146. Prevent a long word to be wrongly wrapped when the
# preceding word is exactly one character shorter than the width
self.check_wrap(self.text, 12,
['Did you say ',
['Did you say',
'"supercalifr',
'agilisticexp',
'ialidocious?',
@ -633,7 +633,7 @@ def test_nobreak_long(self):
def test_max_lines_long(self):
self.check_wrap(self.text, 12,
['Did you say ',
['Did you say',
'"supercalifr',
'agilisticexp',
'[...]'],

View file

@ -211,7 +211,7 @@ def _handle_long_word(self, reversed_chunks, cur_line, cur_len, width):
# If we're allowed to break long words, then do so: put as much
# of the next chunk onto the current line as will fit.
if self.break_long_words:
if self.break_long_words and space_left > 0:
end = space_left
chunk = reversed_chunks[-1]
if self.break_on_hyphens and len(chunk) > space_left:

View file

@ -0,0 +1,2 @@
Fix trailing space before a wrapped long word if the line length is exactly
*width* in :mod:`textwrap`.