diff options
author | Florent Xicluna <florent.xicluna@gmail.com> | 2014-05-07 22:12:42 +0200 |
---|---|---|
committer | Florent Xicluna <florent.xicluna@gmail.com> | 2014-05-07 22:12:42 +0200 |
commit | 588f1f49eb0567006564451923c439f77d33ff7e (patch) | |
tree | 3ad944e1a49a9cd984d9956a3271d560670390a8 | |
parent | 3beebfb0be9df325629ed249bd5a9576ffe79b2e (diff) | |
download | pep8-588f1f49eb0567006564451923c439f77d33ff7e.tar.gz |
Check the last line even if it does not end with a NL; issue #286
-rw-r--r-- | CHANGES.txt | 2 | ||||
-rwxr-xr-x | pep8.py | 8 | ||||
-rw-r--r-- | testsuite/W29.py | 4 |
3 files changed, 10 insertions, 4 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index d8571b5..fd462b9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -12,6 +12,8 @@ Bug fixes: * Do not exit when an option in ``setup.cfg`` or ``tox.ini`` is not recognized. +* Check the last line even if it does not end with a newline. (Issue #286) + 1.5.6 (2014-04-14) ------------------ @@ -1367,6 +1367,8 @@ class Checker(object): tokengen = tokenize.generate_tokens(self.readline) try: for token in tokengen: + if token[2][0] > self.total_lines: + return self.maybe_check_physical(token) yield token except (SyntaxError, tokenize.TokenError): @@ -1449,10 +1451,8 @@ class Checker(object): token[3] = (token[2][0], token[2][1] + len(token[1])) self.tokens = [tuple(token)] self.check_logical() - if len(self.tokens) > 1 and (token_type == tokenize.ENDMARKER and - self.tokens[-2][0] not in SKIP_TOKENS): - self.tokens.pop() - self.check_physical(self.tokens[-1][4]) + if self.tokens: + self.check_physical(self.lines[-1]) self.check_logical() return self.report.get_file_results() diff --git a/testsuite/W29.py b/testsuite/W29.py index 688667f..4050c2f 100644 --- a/testsuite/W29.py +++ b/testsuite/W29.py @@ -15,3 +15,7 @@ string with trailing whitespace''' 1+ 1 #: W292:1:27 E261:1:12 noeol import this # no line feed +#: W292:3:22 noeol +class Test(object): + def __repr__(self): + return 'test' |