From 11a82c7220a29aa1cabd6a1b042742b44c9c9b91 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 8 Sep 2020 17:47:53 -0700 Subject: [PATCH] bpo-41525: Make the Python program help ASCII-only (GH-21836) (cherry picked from commit 58de1dd6a8677bd213802c19204b827cb7134695) Co-authored-by: Serhiy Storchaka --- Lib/test/test_cmd_line.py | 6 +++++- .../2020-08-12-07-35-07.bpo-41525.d9q3XL.rst | 1 + Misc/python.man | 2 +- Python/initconfig.c | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-08-12-07-35-07.bpo-41525.d9q3XL.rst diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 724402533038..051c092eb6c3 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -45,7 +45,11 @@ class CmdLineTest(unittest.TestCase): def test_usage(self): rc, out, err = assert_python_ok('-h') - self.assertIn(b'usage', out) + lines = out.splitlines() + self.assertIn(b'usage', lines[0]) + # The first line contains the program name, + # but the rest should be ASCII-only + b''.join(lines[1:]).decode('ascii') def test_version(self): version = ('Python %d.%d' % sys.version_info[:2]).encode("ascii") diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-08-12-07-35-07.bpo-41525.d9q3XL.rst b/Misc/NEWS.d/next/Core and Builtins/2020-08-12-07-35-07.bpo-41525.d9q3XL.rst new file mode 100644 index 000000000000..acc00f8b992c --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-08-12-07-35-07.bpo-41525.d9q3XL.rst @@ -0,0 +1 @@ +The output of ``python --help`` contains now only ASCII characters. diff --git a/Misc/python.man b/Misc/python.man index 74b2d72939ee..225376574a26 100644 --- a/Misc/python.man +++ b/Misc/python.man @@ -291,7 +291,7 @@ Set implementation specific option. The following options are available: nested imports). Note that its output may be broken in multi-threaded application. Typical usage is python3 -X importtime -c 'import asyncio' - -X dev: enable CPython’s “development mode”, introducing additional runtime + -X dev: enable CPython's "development mode", introducing additional runtime checks which are too expensive to be enabled by default. It will not be more verbose than the default if the code is correct: new warnings are only emitted when an issue is detected. Effect of the developer mode: diff --git a/Python/initconfig.c b/Python/initconfig.c index 885525b41848..9349fdd82504 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -84,7 +84,7 @@ static const char usage_3[] = "\ cumulative time (including nested imports) and self time (excluding\n\ nested imports). Note that its output may be broken in multi-threaded\n\ application. Typical usage is python3 -X importtime -c 'import asyncio'\n\ - -X dev: enable CPython’s “development mode”, introducing additional runtime\n\ + -X dev: enable CPython's \"development mode\", introducing additional runtime\n\ checks which are too expensive to be enabled by default. Effect of the\n\ developer mode:\n\ * Add default warning filter, as -W default\n\ -- 2.47.3