From 21cc9d13f34d116b521c4415098ca1c9993bd198 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 25 Sep 2019 21:13:30 -0400 Subject: [PATCH] annotate_ifdef_directives: clarify situation with newlines Our line limit is 80 characters, assuming that there is a single terminating newline character that counts towards the limit. On Windows, this might go as high as 81 characters, if we count CRLF as two characters. --- scripts/maint/annotate_ifdef_directives | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/maint/annotate_ifdef_directives b/scripts/maint/annotate_ifdef_directives index 4463d83828..b6bb147ce2 100755 --- a/scripts/maint/annotate_ifdef_directives +++ b/scripts/maint/annotate_ifdef_directives @@ -26,7 +26,10 @@ import re # Any block with fewer than this many lines does not need annotations. LINE_OBVIOUSNESS_LIMIT = 4 -# Maximum line width. +# Maximum line width. This includes a terminating newline character. +# +# (This is the maximum before encoding, so that if the the operating system +# uses multiple characers to encode newline, that's still okay.) LINE_WIDTH=80 class Problem(Exception): @@ -38,7 +41,10 @@ def commented_line(fmt, argument, maxwidth=LINE_WIDTH): be longer than maxwidth, truncate argument. Requires that fmt%"..." will fit into maxwidth characters. + + Requires that fmt ends with a newline. """ + assert fmt.endswith("\n") result = fmt % argument if len(result) <= maxwidth: return result