https://github.com/python/cpython/commit/7edcaedc533df437101fd0d40a9c857c7671277a
commit: 7edcaedc533df437101fd0d40a9c857c7671277a
branch: main
author: Xiao Yuan <[email protected]>
committer: itamaro <[email protected]>
date: 2026-06-16T09:41:52-07:00
summary:
gh-118158: Fix missing newline in py_compile CLI error output (#149008)
Restore trailing newline in error messages from `python -m py_compile`,
lost when `main()` was refactored to use argparse.
files:
A Misc/NEWS.d/next/Library/2026-04-26-11-25-38.gh-issue-118158.xIy05H.rst
M Lib/py_compile.py
M Lib/test/test_py_compile.py
diff --git a/Lib/py_compile.py b/Lib/py_compile.py
index 7ca479141e01e4..b22446e2f098de 100644
--- a/Lib/py_compile.py
+++ b/Lib/py_compile.py
@@ -202,12 +202,12 @@ def main():
if args.quiet:
parser.exit(1)
else:
- parser.exit(1, error.msg)
+ parser.exit(1, error.msg + '\n')
except OSError as error:
if args.quiet:
parser.exit(1)
else:
- parser.exit(1, str(error))
+ parser.exit(1, str(error) + '\n')
if __name__ == "__main__":
diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py
index da2d630d7ace7b..09113e983fcd94 100644
--- a/Lib/test/test_py_compile.py
+++ b/Lib/test/test_py_compile.py
@@ -327,6 +327,12 @@ def test_bad_syntax_with_quiet(self):
self.assertEqual(stdout, b'')
self.assertEqual(stderr, b'')
+ def test_bad_syntax_stderr_ends_with_newline(self):
+ with open(self.source_path, 'w') as file:
+ file.write(' print("hello world")\n')
+ rc, stdout, stderr = self.pycompilecmd_failure(self.source_path)
+ self.assertTrue(stderr.endswith(b'\n'))
+
def test_file_not_exists(self):
should_not_exists = os.path.join(os.path.dirname(__file__),
'should_not_exists.py')
rc, stdout, stderr = self.pycompilecmd_failure(self.source_path,
should_not_exists)
diff --git
a/Misc/NEWS.d/next/Library/2026-04-26-11-25-38.gh-issue-118158.xIy05H.rst
b/Misc/NEWS.d/next/Library/2026-04-26-11-25-38.gh-issue-118158.xIy05H.rst
new file mode 100644
index 00000000000000..bd22871c1c0c17
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-04-26-11-25-38.gh-issue-118158.xIy05H.rst
@@ -0,0 +1 @@
+Ensure py_compile CLI error messages end with a newline. Contributed by Xiao
Yuan.
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]