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.
# 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):
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