From 51f08451b090a82754344121127612a813fdb33d Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Fri, 27 Oct 2023 12:28:16 -0700 Subject: [PATCH 01/12] Add a new PYTHONFROZENMODULES env var. --- Doc/using/cmdline.rst | 16 +++++++++++++- Lib/test/test_cmd_line.py | 12 ++++++++++ ...-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst | 3 +++ Python/initconfig.c | 22 ++++++++++++++++++- 4 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 4fdfa097808c01..d716f2ca1605c9 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -540,7 +540,8 @@ Miscellaneous options if this is an installed Python (the normal case). If it's under development (running from the source tree) then the default is "off". Note that the "importlib_bootstrap" and "importlib_bootstrap_external" - frozen modules are always used, even if this flag is set to "off". + frozen modules are always used, even if this flag is set to "off". See + also :envvar:`PYTHONFROZENMODULES`. * ``-X perf`` enables support for the Linux ``perf`` profiler. When this option is provided, the ``perf`` profiler will be able to report Python calls. This option is only available on some platforms and @@ -1091,6 +1092,19 @@ conflict. .. versionadded:: 3.13 +.. envvar:: PYTHONFROZENMODULES + + If this variable is set, it determines whether or not frozen modules are + ignored by the import machinery. A value of "on" means they get + imported and "off" means they are ignored. The default is "on" + for non-debug builds (the normal case) and "off" for debug builds. + Note that the "importlib_bootstrap" and "importlib_bootstrap_external" + frozen modules are always used, even if this flag is set to "off". + + See also the :option:`-X frozen_modules` command-line option. + + .. versionadded:: 3.13 + Debug-mode variables ~~~~~~~~~~~~~~~~~~~~ diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index eaf19aa160e860..f4afae9a312143 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -153,6 +153,18 @@ def test_xoption_frozen_modules(self): res = assert_python_ok(*cmd) self.assertRegex(res.out.decode('utf-8'), expected) + def test_env_var_frozen_modules(self): + tests = { + ('on', 'FrozenImporter'), + ('off', 'SourceFileLoader'), + ('', 'FrozenImporter'), + } + for raw, expected in tests: + cmd = ['-c', 'import os; print(os.__spec__.loader, end="")'] + with self.subTest(raw): + res = assert_python_ok(*cmd, PYTHONFROZENMODULES=raw) + self.assertRegex(res.out.decode('utf-8'), expected) + def test_run_module(self): # Test expected operation of the '-m' switch # Switch needs an argument diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst new file mode 100644 index 00000000000000..31970c3fa258c4 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst @@ -0,0 +1,3 @@ +Add a new environment variable, "PYTHONFROZENMODULES=[on|off]" to opt out of +(or into) using optional frozen modules. Equivalent of the +"-X frozen_modules=[on|off]" command line option. diff --git a/Python/initconfig.c b/Python/initconfig.c index e1199338f2a54f..626549023b8aa9 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -285,11 +285,14 @@ static const char usage_envvars[] = "PYTHONDEVMODE: enable the development mode.\n" "PYTHONPYCACHEPREFIX: root directory for bytecode cache (pyc) files.\n" "PYTHONWARNDEFAULTENCODING: enable opt-in EncodingWarning for 'encoding=None'.\n" -"PYTHONNODEBUGRANGES: If this variable is set, it disables the inclusion of the \n" +"PYTHONNODEBUGRANGES: if this variable is set, it disables the inclusion of the \n" " tables mapping extra location information (end line, start column offset \n" " and end column offset) to every instruction in code objects. This is useful \n" " when smaller code objects and pyc files are desired as well as suppressing the \n" " extra visual location indicators when the interpreter displays tracebacks.\n" +"PYTHONFROZENMODULES : if this variable is set, it determines whether or not \n" +" frozen modules should be used. The default is \"on\" (or \"off\" if you are \n" +" running a local build).\n" "These variables have equivalent command-line parameters (see --help for details):\n" "PYTHONDEBUG : enable parser debug mode (-d)\n" "PYTHONDONTWRITEBYTECODE : don't write .pyc files (-B)\n" @@ -2132,6 +2135,23 @@ config_init_import(PyConfig *config, int compute_path_config) return status; } + const char *env = config_get_env(config, "PYTHONFROZENMODULES"); + if (env == NULL) { + } + else if (strcmp(env, "on") == 0) { + config->use_frozen_modules = 1; + } + else if (strcmp(env, "off") == 0) { + config->use_frozen_modules = 0; + } + else if (strlen(env) == 0) { + // "PYTHONFROZENMODULES=" implies "on". + config->use_frozen_modules = 1; + } else { + return PyStatus_Error("bad value for PYTHONFROZENMODULES " + "(expected \"on\" or \"off\")"); + } + /* -X frozen_modules=[on|off] */ const wchar_t *value = config_get_xoption_value(config, L"frozen_modules"); if (value == NULL) { From 0caabd09bd537216fbdf575903d1016d8b433bee Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Fri, 27 Oct 2023 13:33:43 -0700 Subject: [PATCH 02/12] If the value is empty, turns out config_get_env returns NULL too. --- Doc/using/cmdline.rst | 6 +++--- Lib/test/test_cmd_line.py | 2 +- Python/initconfig.c | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index d716f2ca1605c9..0f8c2687f5fa78 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -1094,9 +1094,9 @@ conflict. .. envvar:: PYTHONFROZENMODULES - If this variable is set, it determines whether or not frozen modules are - ignored by the import machinery. A value of "on" means they get - imported and "off" means they are ignored. The default is "on" + If this variable is set to ``on`` or ``off``, it determines whether or not + frozen modules are ignored by the import machinery. A value of "on" means + they get imported and "off" means they are ignored. The default is "on" for non-debug builds (the normal case) and "off" for debug builds. Note that the "importlib_bootstrap" and "importlib_bootstrap_external" frozen modules are always used, even if this flag is set to "off". diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index f4afae9a312143..06731033e4cbf4 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -157,7 +157,7 @@ def test_env_var_frozen_modules(self): tests = { ('on', 'FrozenImporter'), ('off', 'SourceFileLoader'), - ('', 'FrozenImporter'), + ('', 'SourceFileLoader'), } for raw, expected in tests: cmd = ['-c', 'import os; print(os.__spec__.loader, end="")'] diff --git a/Python/initconfig.c b/Python/initconfig.c index 626549023b8aa9..d9026b70d798e2 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -2143,10 +2143,6 @@ config_init_import(PyConfig *config, int compute_path_config) } else if (strcmp(env, "off") == 0) { config->use_frozen_modules = 0; - } - else if (strlen(env) == 0) { - // "PYTHONFROZENMODULES=" implies "on". - config->use_frozen_modules = 1; } else { return PyStatus_Error("bad value for PYTHONFROZENMODULES " "(expected \"on\" or \"off\")"); From d79d11a4390147f584b754ce6290e9a2a9728f2f Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Fri, 27 Oct 2023 13:45:36 -0700 Subject: [PATCH 03/12] Fix the doc reference. --- Doc/using/cmdline.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 0f8c2687f5fa78..44505dc4beb0e0 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -1101,7 +1101,7 @@ conflict. Note that the "importlib_bootstrap" and "importlib_bootstrap_external" frozen modules are always used, even if this flag is set to "off". - See also the :option:`-X frozen_modules` command-line option. + See also the :option:`-X frozen_modules <-X>` command-line option. .. versionadded:: 3.13 From 1d23236be45a4832de4267f5598bc75a451030c1 Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Fri, 27 Oct 2023 14:44:34 -0700 Subject: [PATCH 04/12] Remove this test, it will use the default so it depends on how Python is built. --- Lib/test/test_cmd_line.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 06731033e4cbf4..14721be395ff28 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -157,7 +157,6 @@ def test_env_var_frozen_modules(self): tests = { ('on', 'FrozenImporter'), ('off', 'SourceFileLoader'), - ('', 'SourceFileLoader'), } for raw, expected in tests: cmd = ['-c', 'import os; print(os.__spec__.loader, end="")'] From af9834f647f5b70e20ff16894ee93120df6d6b15 Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sat, 28 Oct 2023 22:07:13 -0700 Subject: [PATCH 05/12] Update to the new style. --- Doc/using/cmdline.rst | 4 ++-- Lib/test/test_cmd_line.py | 2 +- .../2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst | 2 +- Python/initconfig.c | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 44505dc4beb0e0..25f9cab266bbbb 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -541,7 +541,7 @@ Miscellaneous options development (running from the source tree) then the default is "off". Note that the "importlib_bootstrap" and "importlib_bootstrap_external" frozen modules are always used, even if this flag is set to "off". See - also :envvar:`PYTHONFROZENMODULES`. + also :envvar:`PYTHON_FROZEN_MODULES`. * ``-X perf`` enables support for the Linux ``perf`` profiler. When this option is provided, the ``perf`` profiler will be able to report Python calls. This option is only available on some platforms and @@ -1092,7 +1092,7 @@ conflict. .. versionadded:: 3.13 -.. envvar:: PYTHONFROZENMODULES +.. envvar:: PYTHON_FROZEN_MODULES If this variable is set to ``on`` or ``off``, it determines whether or not frozen modules are ignored by the import machinery. A value of "on" means diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 14721be395ff28..80fc5f06ed2cf5 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -161,7 +161,7 @@ def test_env_var_frozen_modules(self): for raw, expected in tests: cmd = ['-c', 'import os; print(os.__spec__.loader, end="")'] with self.subTest(raw): - res = assert_python_ok(*cmd, PYTHONFROZENMODULES=raw) + res = assert_python_ok(*cmd, PYTHON_FROZEN_MODULES=raw) self.assertRegex(res.out.decode('utf-8'), expected) def test_run_module(self): diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst index 31970c3fa258c4..231a52664c88d4 100644 --- a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst @@ -1,3 +1,3 @@ -Add a new environment variable, "PYTHONFROZENMODULES=[on|off]" to opt out of +Add a new environment variable, "PYTHON_FROZEN_MODULES=[on|off]" to opt out of (or into) using optional frozen modules. Equivalent of the "-X frozen_modules=[on|off]" command line option. diff --git a/Python/initconfig.c b/Python/initconfig.c index d9026b70d798e2..06c45a59e97f68 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -290,7 +290,7 @@ static const char usage_envvars[] = " and end column offset) to every instruction in code objects. This is useful \n" " when smaller code objects and pyc files are desired as well as suppressing the \n" " extra visual location indicators when the interpreter displays tracebacks.\n" -"PYTHONFROZENMODULES : if this variable is set, it determines whether or not \n" +"PYTHON_FROZEN_MODULES : if this variable is set, it determines whether or not \n" " frozen modules should be used. The default is \"on\" (or \"off\" if you are \n" " running a local build).\n" "These variables have equivalent command-line parameters (see --help for details):\n" @@ -2135,7 +2135,7 @@ config_init_import(PyConfig *config, int compute_path_config) return status; } - const char *env = config_get_env(config, "PYTHONFROZENMODULES"); + const char *env = config_get_env(config, "PYTHON_FROZEN_MODULES"); if (env == NULL) { } else if (strcmp(env, "on") == 0) { @@ -2144,7 +2144,7 @@ config_init_import(PyConfig *config, int compute_path_config) else if (strcmp(env, "off") == 0) { config->use_frozen_modules = 0; } else { - return PyStatus_Error("bad value for PYTHONFROZENMODULES " + return PyStatus_Error("bad value for PYTHON_FROZEN_MODULES " "(expected \"on\" or \"off\")"); } From 866edde05d9699d589935b0e44141b3b6615a60f Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 13:26:44 -0700 Subject: [PATCH 06/12] Update 3.13.rst --- Doc/whatsnew/3.13.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 84d5daae6e623c..51e3ad178bb2a8 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -120,6 +120,10 @@ Other Language Changes is rejected when the global is used in the :keyword:`else` block. (Contributed by Irit Katriel in :gh:`111123`.) +* Added a new environment variable :envvar:`PYTHON_FROZEN_MODULES`. It + determines whether or not frozen modules are ignored by the import machinery. + (Contributed by Yilei Yang in :gh:`111374`.) + New Modules =========== From 2b8b38be7bc288e0728dc767261145bbf01ec04f Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 13:32:13 -0700 Subject: [PATCH 07/12] Reworded whats new to be consistent. --- Doc/whatsnew/3.13.rst | 3 ++- .../2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 51e3ad178bb2a8..82a582dd31f636 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -121,7 +121,8 @@ Other Language Changes (Contributed by Irit Katriel in :gh:`111123`.) * Added a new environment variable :envvar:`PYTHON_FROZEN_MODULES`. It - determines whether or not frozen modules are ignored by the import machinery. + determines whether or not frozen modules are ignored by the import machinery, + equivalent of the :option:`-X frozen_modules <-X>` command line option. (Contributed by Yilei Yang in :gh:`111374`.) New Modules diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst index 231a52664c88d4..ddddf0aa1a8805 100644 --- a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst @@ -1,3 +1,3 @@ -Add a new environment variable, "PYTHON_FROZEN_MODULES=[on|off]" to opt out of -(or into) using optional frozen modules. Equivalent of the -"-X frozen_modules=[on|off]" command line option. +Added a new environment variable :envvar:`PYTHON_FROZEN_MODULES`. It +determines whether or not frozen modules are ignored by the import machinery, +equivalent of the :option:`-X frozen_modules <-X>` command line option. From a0265a2f97fac5fdb5234d87a8571310353f3f77 Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 17:04:08 -0700 Subject: [PATCH 08/12] Update Doc/whatsnew/3.13.rst Co-authored-by: Hugo van Kemenade --- Doc/whatsnew/3.13.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst index 82a582dd31f636..c5167e03af9851 100644 --- a/Doc/whatsnew/3.13.rst +++ b/Doc/whatsnew/3.13.rst @@ -122,7 +122,7 @@ Other Language Changes * Added a new environment variable :envvar:`PYTHON_FROZEN_MODULES`. It determines whether or not frozen modules are ignored by the import machinery, - equivalent of the :option:`-X frozen_modules <-X>` command line option. + equivalent of the :option:`-X frozen_modules <-X>` command-line option. (Contributed by Yilei Yang in :gh:`111374`.) New Modules From 8836d281a4d30cc4014f77787f240541f5cec770 Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 17:04:19 -0700 Subject: [PATCH 09/12] Update Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst Co-authored-by: Hugo van Kemenade --- .../2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst index ddddf0aa1a8805..6f18339112466d 100644 --- a/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst +++ b/Misc/NEWS.d/next/Core and Builtins/2023-10-27-11-22-09.gh-issue-111374.e9lrPZ.rst @@ -1,3 +1,3 @@ Added a new environment variable :envvar:`PYTHON_FROZEN_MODULES`. It determines whether or not frozen modules are ignored by the import machinery, -equivalent of the :option:`-X frozen_modules <-X>` command line option. +equivalent of the :option:`-X frozen_modules <-X>` command-line option. From d12e3263a1e6efd1ea393fa8a74699461ec0e989 Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 17:04:39 -0700 Subject: [PATCH 10/12] Update Doc/using/cmdline.rst Co-authored-by: Hugo van Kemenade --- Doc/using/cmdline.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index 25f9cab266bbbb..fe541aef31ddcd 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -1095,11 +1095,11 @@ conflict. .. envvar:: PYTHON_FROZEN_MODULES If this variable is set to ``on`` or ``off``, it determines whether or not - frozen modules are ignored by the import machinery. A value of "on" means - they get imported and "off" means they are ignored. The default is "on" - for non-debug builds (the normal case) and "off" for debug builds. - Note that the "importlib_bootstrap" and "importlib_bootstrap_external" - frozen modules are always used, even if this flag is set to "off". + frozen modules are ignored by the import machinery. A value of ``on`` means + they get imported and ``off`` means they are ignored. The default is ``on`` + for non-debug builds (the normal case) and ``off`` for debug builds. + Note that the :mod:`!importlib_bootstrap` and :mod:`!importlib_bootstrap_external` + frozen modules are always used, even if this flag is set to ``off``. See also the :option:`-X frozen_modules <-X>` command-line option. From 4716773cddd3199ae8b0354aa811a621b700e65c Mon Sep 17 00:00:00 2001 From: Yilei Yang Date: Sun, 29 Oct 2023 17:07:22 -0700 Subject: [PATCH 11/12] Also update the -X frozen_modules doc formatting. --- Doc/using/cmdline.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index fe541aef31ddcd..bdf8f95de2e469 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -535,13 +535,13 @@ Miscellaneous options location indicators when the interpreter displays tracebacks. See also :envvar:`PYTHONNODEBUGRANGES`. * ``-X frozen_modules`` determines whether or not frozen modules are - ignored by the import machinery. A value of "on" means they get - imported and "off" means they are ignored. The default is "on" + ignored by the import machinery. A value of ``on`` means they get + imported and ``off`` means they are ignored. The default is ``on`` if this is an installed Python (the normal case). If it's under - development (running from the source tree) then the default is "off". - Note that the "importlib_bootstrap" and "importlib_bootstrap_external" - frozen modules are always used, even if this flag is set to "off". See - also :envvar:`PYTHON_FROZEN_MODULES`. + development (running from the source tree) then the default is ``off``. + Note that the :mod:`!importlib_bootstrap` and + :mod:`!importlib_bootstrap_external` frozen modules are always used, even + if this flag is set to ``off``. See also :envvar:`PYTHON_FROZEN_MODULES`. * ``-X perf`` enables support for the Linux ``perf`` profiler. When this option is provided, the ``perf`` profiler will be able to report Python calls. This option is only available on some platforms and @@ -1098,8 +1098,9 @@ conflict. frozen modules are ignored by the import machinery. A value of ``on`` means they get imported and ``off`` means they are ignored. The default is ``on`` for non-debug builds (the normal case) and ``off`` for debug builds. - Note that the :mod:`!importlib_bootstrap` and :mod:`!importlib_bootstrap_external` - frozen modules are always used, even if this flag is set to ``off``. + Note that the :mod:`!importlib_bootstrap` and + :mod:`!importlib_bootstrap_external` frozen modules are always used, even + if this flag is set to ``off``. See also the :option:`-X frozen_modules <-X>` command-line option. From 964b69bc25a6fdbcfd69f1b6fa4188d74cd4e931 Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Wed, 1 Nov 2023 13:09:52 -0700 Subject: [PATCH 12/12] help text style change, align the : --- Python/initconfig.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Python/initconfig.c b/Python/initconfig.c index 06c45a59e97f68..d7f3195ed5fcf0 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -290,7 +290,7 @@ static const char usage_envvars[] = " and end column offset) to every instruction in code objects. This is useful \n" " when smaller code objects and pyc files are desired as well as suppressing the \n" " extra visual location indicators when the interpreter displays tracebacks.\n" -"PYTHON_FROZEN_MODULES : if this variable is set, it determines whether or not \n" +"PYTHON_FROZEN_MODULES : if this variable is set, it determines whether or not \n" " frozen modules should be used. The default is \"on\" (or \"off\" if you are \n" " running a local build).\n" "These variables have equivalent command-line parameters (see --help for details):\n"