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.
This commit is contained in:
committed by
Brad Solomon
parent
87ee9d144b
commit
765cce0d3e
@@ -97,7 +97,9 @@ def check(conf, comment):
|
|||||||
comment.column_no == 1 and
|
comment.column_no == 1 and
|
||||||
re.match(r'^!\S', comment.buffer[text_start:])):
|
re.match(r'^!\S', comment.buffer[text_start:])):
|
||||||
return
|
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
|
column = comment.column_no + text_start - comment.pointer
|
||||||
yield LintProblem(comment.line_no,
|
yield LintProblem(comment.line_no,
|
||||||
column,
|
column,
|
||||||
|
|||||||
Reference in New Issue
Block a user