summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Xicluna <florent.xicluna@gmail.com>2014-05-07 22:12:42 +0200
committerFlorent Xicluna <florent.xicluna@gmail.com>2014-05-07 22:12:42 +0200
commit588f1f49eb0567006564451923c439f77d33ff7e (patch)
tree3ad944e1a49a9cd984d9956a3271d560670390a8
parent3beebfb0be9df325629ed249bd5a9576ffe79b2e (diff)
downloadpep8-588f1f49eb0567006564451923c439f77d33ff7e.tar.gz
Check the last line even if it does not end with a NL; issue #286
-rw-r--r--CHANGES.txt2
-rwxr-xr-xpep8.py8
-rw-r--r--testsuite/W29.py4
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)
------------------
diff --git a/pep8.py b/pep8.py
index bc91137..0d7e294 100755
--- a/pep8.py
+++ b/pep8.py
@@ -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'