diff --git a/scripts/maint/format_changelog.py b/scripts/maint/format_changelog.py index 35044b3186..ac96a7e8ed 100755 --- a/scripts/maint/format_changelog.py +++ b/scripts/maint/format_changelog.py @@ -23,6 +23,8 @@ import sys # 100 * the fourth power of overflowed characters # PLUS # .1 * a bit more than the cube of ragged space on the last line. +# PLUS +# OPENPAREN_PENALTY for each line that starts with ( # # We use an obvious dynamic programming algorithm to sorta approximate this. # It's not coded right or optimally, but it's fast enough for changelogs @@ -44,6 +46,8 @@ OVERFLOW_PENALTY = 2000 ORPHAN_PENALTY = 10000 +OPENPAREN_PENALTY = 200 + def generate_wrapping(words, divisions): lines = [] last = 0 @@ -65,6 +69,9 @@ def wrapping_quality(words, divisions, width1, width2): else: width = width2 + if line[0:1] == '(': + total += OPENPAREN_PENALTY + if length > width: total += OVERFLOW_PENALTY * ( (length - width) ** OVERFLOW_EXPONENT )