From cafaf0447b950fd4f59edd8cbde040c61ae528f8 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" <jaraco@jaraco.com> Date: Fri, 13 Jul 2018 11:26:03 -0400 Subject: bpo-34108: Fix double carriage return in 2to3 on Windows (#8271) * Add test capturing failure. * Honor newlines as present in the original file. --- Lib/lib2to3/refactor.py | 2 +- Lib/lib2to3/tests/test_refactor.py | 1 + Misc/NEWS.d/next/Library/2018-07-13-08-44-52.bpo-34108.RjobUC.rst | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 Misc/NEWS.d/next/Library/2018-07-13-08-44-52.bpo-34108.RjobUC.rst diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py index 7c4e064..7841b99 100644 --- a/Lib/lib2to3/refactor.py +++ b/Lib/lib2to3/refactor.py @@ -514,7 +514,7 @@ class RefactoringTool(object): set. """ try: - fp = io.open(filename, "w", encoding=encoding) + fp = io.open(filename, "w", encoding=encoding, newline='') except OSError as err: self.log_error("Can't create %s: %s", filename, err) return diff --git a/Lib/lib2to3/tests/test_refactor.py b/Lib/lib2to3/tests/test_refactor.py index f3059a9..9e3b8fb 100644 --- a/Lib/lib2to3/tests/test_refactor.py +++ b/Lib/lib2to3/tests/test_refactor.py @@ -300,6 +300,7 @@ from __future__ import print_function""" old, new = self.refactor_file(fn) self.assertIn(b"\r\n", old) self.assertIn(b"\r\n", new) + self.assertNotIn(b"\r\r\n", new) def test_refactor_docstring(self): rt = self.rt() diff --git a/Misc/NEWS.d/next/Library/2018-07-13-08-44-52.bpo-34108.RjobUC.rst b/Misc/NEWS.d/next/Library/2018-07-13-08-44-52.bpo-34108.RjobUC.rst new file mode 100644 index 0000000..1021f98 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-07-13-08-44-52.bpo-34108.RjobUC.rst @@ -0,0 +1 @@ +Remove extraneous CR in 2to3 refactor. -- cgit v0.12