Skip to content

Commit 588f1f4

Browse files
committed
Check the last line even if it does not end with a NL; issue #286
1 parent 3beebfb commit 588f1f4

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

CHANGES.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Bug fixes:
1212
* Do not exit when an option in ``setup.cfg`` or ``tox.ini``
1313
is not recognized.
1414

15+
* Check the last line even if it does not end with a newline. (Issue #286)
16+
1517

1618
1.5.6 (2014-04-14)
1719
------------------

pep8.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,6 +1367,8 @@ def generate_tokens(self):
13671367
tokengen = tokenize.generate_tokens(self.readline)
13681368
try:
13691369
for token in tokengen:
1370+
if token[2][0] > self.total_lines:
1371+
return
13701372
self.maybe_check_physical(token)
13711373
yield token
13721374
except (SyntaxError, tokenize.TokenError):
@@ -1449,10 +1451,8 @@ def check_all(self, expected=None, line_offset=0):
14491451
token[3] = (token[2][0], token[2][1] + len(token[1]))
14501452
self.tokens = [tuple(token)]
14511453
self.check_logical()
1452-
if len(self.tokens) > 1 and (token_type == tokenize.ENDMARKER and
1453-
self.tokens[-2][0] not in SKIP_TOKENS):
1454-
self.tokens.pop()
1455-
self.check_physical(self.tokens[-1][4])
1454+
if self.tokens:
1455+
self.check_physical(self.lines[-1])
14561456
self.check_logical()
14571457
return self.report.get_file_results()
14581458

testsuite/W29.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ class Foo(object):
1515
1+ 1
1616
#: W292:1:27 E261:1:12 noeol
1717
import this # no line feed
18+
#: W292:3:22 noeol
19+
class Test(object):
20+
def __repr__(self):
21+
return 'test'

0 commit comments

Comments
 (0)