From 9171dc2827650a1a3c20dee994145e335befa00e Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Tue, 8 Sep 2020 17:46:41 -0700 Subject: 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 +++++- .../next/Core and Builtins/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 5fc5bff..a5ece9b 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -44,7 +44,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 0000000..acc00f8 --- /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 3645b02..fa5d799 100644 --- a/Misc/python.man +++ b/Misc/python.man @@ -295,7 +295,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 a930b5d..42f21b3 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -80,7 +80,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\ -- cgit v0.12