From 2be878d8e54057980121e4c659ca48317b79970e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 13 Jul 2019 22:51:48 +0100 Subject: gnu: python-pep8: Patch to fix test failure with Python 3.7. Patch from the upstream repository, see https://github.com/PyCQA/pycodestyle/issues/786 for more details. * gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch: New file. * gnu/packages/python-xyz.scm (python-pep8)[source]: Add it. --- .../python-pep8-stdlib-tokenize-compat.patch | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch (limited to 'gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch') diff --git a/gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch b/gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch new file mode 100644 index 0000000000..f11d8f7be8 --- /dev/null +++ b/gnu/packages/patches/python-pep8-stdlib-tokenize-compat.patch @@ -0,0 +1,35 @@ +From 397463014fda3cdefe8d6c9d117ae16d878dc494 Mon Sep 17 00:00:00 2001 +From: Michael Hudson-Doyle +Date: Tue, 25 Sep 2018 14:58:57 +1200 +Subject: [PATCH] Keep compability with stdlib tokenize.py changes + +https://github.com/python/cpython/commit/c4ef4896eac86a6759901c8546e26de4695a1389 +is not yet part of any release of Python but has been backported to all +versions in Git (includeing 2.7!). It causes the tokenize.py module to +emit a synthetic NEWLINE token for files that do not in fact end with a +newline, which confuses pycodestyle's checks for blank lines at the end +of a file. Fortunately the synthetic NEWLINE tokens are easy to detect +(the token text is ""). + +Fixes #786 +--- + pycodestyle.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pycodestyle.py b/pycodestyle.py +index 0d725d27..fbc3dca3 100755 +--- a/pep8.py ++++ b/pep8.py +@@ -258,10 +258,10 @@ def trailing_blank_lines(physical_line, lines, line_number, total_lines): + """ + if line_number == total_lines: + stripped_last_line = physical_line.rstrip() +- if not stripped_last_line: ++ if physical_line and not stripped_last_line: + return 0, "W391 blank line at end of file" + if stripped_last_line == physical_line: +- return len(physical_line), "W292 no newline at end of file" ++ return len(lines[-1]), "W292 no newline at end of file" + + + @register_check -- cgit v1.2.3