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.
This commit is contained in:
Nick Mathewson 2019-09-25 21:13:30 -04:00
parent 194dbea24d
commit 21cc9d13f3

View File

@ -26,7 +26,10 @@ import re
# Any block with fewer than this many lines does not need annotations. # Any block with fewer than this many lines does not need annotations.
LINE_OBVIOUSNESS_LIMIT = 4 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 LINE_WIDTH=80
class Problem(Exception): class Problem(Exception):
@ -38,7 +41,10 @@ def commented_line(fmt, argument, maxwidth=LINE_WIDTH):
be longer than maxwidth, truncate argument. be longer than maxwidth, truncate argument.
Requires that fmt%"..." will fit into maxwidth characters. Requires that fmt%"..." will fit into maxwidth characters.
Requires that fmt ends with a newline.
""" """
assert fmt.endswith("\n")
result = fmt % argument result = fmt % argument
if len(result) <= maxwidth: if len(result) <= maxwidth:
return result return result