From 747f368c6d72cc6a68bb0a12c4209c534517b656 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 14 May 2014 12:56:09 -0400 Subject: [PATCH] make the changelog text wrapper respect arma's no-initial-openparen rule --- scripts/maint/format_changelog.py | 7 +++++++ 1 file changed, 7 insertions(+) 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 )