From: Jason R. Coombs Date: Fri, 13 Jul 2018 15:26:03 +0000 (-0400) Subject: bpo-34108: Fix double carriage return in 2to3 on Windows (#8271) X-Git-Tag: v3.8.0a1~1373 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cafaf0447b950fd4f59edd8cbde040c61ae528f8;p=thirdparty%2FPython%2Fcpython.git bpo-34108: Fix double carriage return in 2to3 on Windows (#8271) * Add test capturing failure. * Honor newlines as present in the original file. --- diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py index 7c4e0649975c..7841b99a5cd4 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 f3059a93113b..9e3b8fbb90b2 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 000000000000..1021f98b7f9e --- /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.