Bugfix: account for CRLF in empty-line comments

If require-starting-space is true, *and* either:

- new-lines: disbale, or
- newlines: type: dos

is specified, a line with `#\r` or `#\r\n` should
not raise a false positive.

This commit also uses a Set for O(1) membership testing
and uses the correct escape sequence for the nul byte.

Closes: Issue #171.
pull/257/head
Brad Solomon 5 years ago committed by Brad Solomon
parent 87ee9d144b
commit 765cce0d3e

@ -97,7 +97,9 @@ def check(conf, comment):
comment.column_no == 1 and
re.match(r'^!\S', comment.buffer[text_start:])):
return
elif comment.buffer[text_start] not in (' ', '\n', '\0'):
# We can test for both \r and \r\n just by checking first char
# \r itself is a valid newline on some older OS.
elif comment.buffer[text_start] not in {' ', '\n', '\r', '\x00'}:
column = comment.column_no + text_start - comment.pointer
yield LintProblem(comment.line_no,
column,

Loading…
Cancel
Save