Fix #1146: TextWrap vs words 1-character shorter than the width.
Patch by Quentin Gallet-Gilles.
This commit is contained in:
parent
14404b68d8
commit
c6fde7293e
|
@ -398,6 +398,19 @@ How *do* you spell that odd word, anyways?
|
||||||
' o'],
|
' o'],
|
||||||
subsequent_indent = ' '*15)
|
subsequent_indent = ' '*15)
|
||||||
|
|
||||||
|
# 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 ',
|
||||||
|
'"supercalifr',
|
||||||
|
'agilisticexp',
|
||||||
|
'ialidocious?',
|
||||||
|
'" How *do*',
|
||||||
|
'you spell',
|
||||||
|
'that odd',
|
||||||
|
'word,',
|
||||||
|
'anyways?'])
|
||||||
|
|
||||||
def test_nobreak_long(self):
|
def test_nobreak_long(self):
|
||||||
# Test with break_long_words disabled
|
# Test with break_long_words disabled
|
||||||
self.wrapper.break_long_words = 0
|
self.wrapper.break_long_words = 0
|
||||||
|
|
|
@ -173,7 +173,12 @@ class TextWrapper:
|
||||||
Handle a chunk of text (most likely a word, not whitespace) that
|
Handle a chunk of text (most likely a word, not whitespace) that
|
||||||
is too long to fit in any line.
|
is too long to fit in any line.
|
||||||
"""
|
"""
|
||||||
space_left = max(width - cur_len, 1)
|
# Figure out when indent is larger than the specified width, and make
|
||||||
|
# sure at least one character is stripped off on every pass
|
||||||
|
if width < 1:
|
||||||
|
space_left = 1
|
||||||
|
else:
|
||||||
|
space_left = width - cur_len
|
||||||
|
|
||||||
# If we're allowed to break long words, then do so: put as much
|
# 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.
|
# of the next chunk onto the current line as will fit.
|
||||||
|
|
|
@ -369,6 +369,9 @@ Core and builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- #1146: fix how textwrap breaks a long word that would start in the
|
||||||
|
last column of a line.
|
||||||
|
|
||||||
- #1693149: trace.py --ignore-module - accept multiple comma-separated
|
- #1693149: trace.py --ignore-module - accept multiple comma-separated
|
||||||
modules to be given.
|
modules to be given.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue