]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-90300: Reformat the Python CLI help output (GH-93415)
authorSerhiy Storchaka <storchaka@gmail.com>
Fri, 23 Feb 2024 09:27:07 +0000 (11:27 +0200)
committerGitHub <noreply@github.com>
Fri, 23 Feb 2024 09:27:07 +0000 (10:27 +0100)
Python/initconfig.c

index a6d8c176156617958e0398e66813abedbcb64fdf..74f28f3b39175b19e000259bd4fc5c247d80b8c9 100644 (file)
@@ -153,7 +153,8 @@ Options (and corresponding environment variables):\n\
          .pyc extension; also PYTHONOPTIMIZE=x\n\
 -OO    : do -O changes and also discard docstrings; add .opt-2 before\n\
          .pyc extension\n\
--P     : don't prepend a potentially unsafe path to sys.path; also PYTHONSAFEPATH\n\
+-P     : don't prepend a potentially unsafe path to sys.path; also\n\
+         PYTHONSAFEPATH\n\
 -q     : don't print version and copyright messages on interactive startup\n\
 -s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE\n\
 -S     : don't imply 'import site' on initialization\n\
@@ -169,9 +170,10 @@ Options (and corresponding environment variables):\n\
 -X opt : set implementation-specific option\n\
 --check-hash-based-pycs always|default|never:\n\
          control how Python invalidates hash-based .pyc files\n\
---help-env      : print help about Python environment variables and exit\n\
---help-xoptions : print help about implementation-specific -X options and exit\n\
---help-all      : print complete help information and exit\n\
+--help-env: print help about Python environment variables and exit\n\
+--help-xoptions: print help about implementation-specific -X options and exit\n\
+--help-all: print complete help information and exit\n\
+\n\
 Arguments:\n\
 file   : program read from script file\n\
 -      : program read from stdin (default; interactive mode if a tty)\n\
@@ -180,73 +182,61 @@ arg ...: arguments passed to program in sys.argv[1:]\n\
 
 static const char usage_xoptions[] = "\
 The following implementation-specific options are available:\n\
-\n\
 -X faulthandler: enable faulthandler\n\
-\n\
 -X showrefcount: output the total reference count and number of used\n\
-    memory blocks when the program finishes or after each statement in the\n\
-    interactive interpreter. This only works on debug builds\n\
-\n\
+         memory blocks when the program finishes or after each statement in\n\
+         the interactive interpreter.  This only works on debug builds\n\
 -X tracemalloc: start tracing Python memory allocations using the\n\
-    tracemalloc module. By default, only the most recent frame is stored in a\n\
-    traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a\n\
-    traceback limit of NFRAME frames\n\
-\n\
--X importtime: show how long each import takes. It shows module name,\n\
-    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\
-\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\
-       * Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks()\n\
-         C function\n\
-       * Enable the faulthandler module to dump the Python traceback on a crash\n\
-       * Enable asyncio debug mode\n\
-       * Set the dev_mode attribute of sys.flags to True\n\
-       * io.IOBase destructor logs close() exceptions\n\
-\n\
--X utf8: enable UTF-8 mode for operating system interfaces, overriding the default\n\
-    locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would\n\
-    otherwise activate automatically)\n\
-\n\
--X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the\n\
-    given directory instead of to the code tree\n\
-\n\
+         tracemalloc module.  By default, only the most recent frame is stored\n\
+         in a traceback of a trace.  Use -X tracemalloc=NFRAME to start\n\
+         tracing with a traceback limit of NFRAME frames\n\
+-X importtime: show how long each import takes.  It shows module name,\n\
+         cumulative time (including nested imports) and self time (excluding\n\
+         nested imports).  Note that its output may be broken in\n\
+         multi-threaded application.\n\
+         Typical usage is python3 -X importtime -c 'import asyncio'\n\
+-X dev : enable CPython's \"development mode\", introducing additional runtime\n\
+         checks which are too expensive to be enabled by default.  Effect of\n\
+         the developer mode:\n\
+          * Add default warning filter, as -W default\n\
+          * Install debug hooks on memory allocators: see the\n\
+            PyMem_SetupDebugHooks() C function\n\
+          * Enable the faulthandler module to dump the Python traceback on\n\
+            a crash\n\
+          * Enable asyncio debug mode\n\
+          * Set the dev_mode attribute of sys.flags to True\n\
+          * io.IOBase destructor logs close() exceptions\n\
+-X utf8: enable UTF-8 mode for operating system interfaces, overriding the\n\
+         default locale-aware mode.  -X utf8=0 explicitly disables UTF-8 mode\n\
+         (even when it would otherwise activate automatically)\n\
+-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted\n\
+         at the given directory instead of to the code tree\n\
 -X warn_default_encoding: enable opt-in EncodingWarning for 'encoding=None'\n\
-\n\
--X no_debug_ranges: disable the inclusion of the tables mapping extra location \n\
-   information (end line, start column offset and end column offset) to every \n\
-   instruction in code objects. This is useful when smaller code objects and pyc \n\
-   files are desired as well as suppressing the extra visual location indicators \n\
-   when the interpreter displays tracebacks.\n\
-\n\
--X perf: activate support for the Linux \"perf\" profiler by activating the \"perf\"\n\
-    trampoline. When this option is activated, the Linux \"perf\" profiler will be \n\
-    able to report Python calls. This option is only available on some platforms and will \n\
-    do nothing if is not supported on the current system. The default value is \"off\".\n\
-\n\
+-X no_debug_ranges: disable the inclusion of the tables mapping extra location\n\
+         information (end line, start column offset and end column offset) to\n\
+         every instruction in code objects.  This is useful when smaller code\n\
+         objects and pyc files are desired as well as suppressing the extra\n\
+         visual location indicators when the interpreter displays tracebacks.\n\
+-X perf: activate support for the Linux \"perf\" profiler by activating the\n\
+         \"perf\" trampoline.  When this option is activated, the Linux \"perf\"\n\
+         profiler will be able to report Python calls.  This option is only\n\
+         available on some platforms and will do nothing if is not supported\n\
+         on the current system.  The default value is \"off\".\n\
 -X frozen_modules=[on|off]: whether or not frozen modules should be used.\n\
-   The default is \"on\" (or \"off\" if you are running a local build).\n\
-\n\
+         The default is \"on\" (or \"off\" if you are running a local build).\n\
 -X int_max_str_digits=number: limit the size of int<->str conversions.\n\
-    This helps avoid denial of service attacks when parsing untrusted data.\n\
-    The default is sys.int_info.default_max_str_digits.  0 disables.\n\
-\n\
+         This helps avoid denial of service attacks when parsing untrusted\n\
+         data.  The default is sys.int_info.default_max_str_digits.\n\
+         0 disables.\n\
 -X cpu_count=[n|default]: Override the return value of os.cpu_count(),\n\
-    os.process_cpu_count(), and multiprocessing.cpu_count(). This can help users who need\n\
-    to limit resources in a container."
-
+         os.process_cpu_count(), and multiprocessing.cpu_count().  This can\n\
+         help users who need to limit resources in a container."
 #ifdef Py_STATS
 "\n\
-\n\
 -X pystats: Enable pystats collection at startup."
 #endif
 #ifdef Py_DEBUG
 "\n\
-\n\
 -X presite=package.module: import this module before site.py is run."
 #endif
 ;
@@ -254,65 +244,73 @@ The following implementation-specific options are available:\n\
 /* Envvars that don't have equivalent command-line options are listed first */
 static const char usage_envvars[] =
 "Environment variables that change behavior:\n"
-"PYTHONSTARTUP: file executed on interactive startup (no default)\n"
-"PYTHONPATH   : '%lc'-separated list of directories prefixed to the\n"
-"               default module search path.  The result is sys.path.\n"
-"PYTHONHOME   : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
-"               The default module search path uses %s.\n"
-"PYTHONPLATLIBDIR : override sys.platlibdir.\n"
-"PYTHONCASEOK : ignore case in 'import' statements (Windows).\n"
-"PYTHONUTF8: if set to 1, enable the UTF-8 mode.\n"
+"PYTHONSTARTUP   : file executed on interactive startup (no default)\n"
+"PYTHONPATH      : '%lc'-separated list of directories prefixed to the\n"
+"                  default module search path.  The result is sys.path.\n"
+"PYTHONHOME      : alternate <prefix> directory (or <prefix>%lc<exec_prefix>).\n"
+"                  The default module search path uses %s.\n"
+"PYTHONPLATLIBDIR: override sys.platlibdir.\n"
+"PYTHONCASEOK    : ignore case in 'import' statements (Windows).\n"
+"PYTHONUTF8      : if set to 1, enable the UTF-8 mode.\n"
 "PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.\n"
 "PYTHONFAULTHANDLER: dump the Python traceback on fatal errors.\n"
-"PYTHONHASHSEED: if this variable is set to 'random', a random value is used\n"
-"   to seed the hashes of str and bytes objects.  It can also be set to an\n"
-"   integer in the range [0,4294967295] to get hash values with a\n"
-"   predictable seed.\n"
+"PYTHONHASHSEED  : if this variable is set to 'random', a random value is used\n"
+"                  to seed the hashes of str and bytes objects.  It can also be\n"
+"                  set to an integer in the range [0,4294967295] to get hash\n"
+"                  values with a predictable seed.\n"
 "PYTHONINTMAXSTRDIGITS: limits the maximum digit characters in an int value\n"
-"   when converting from a string and when converting an int back to a str.\n"
-"   A value of 0 disables the limit.  Conversions to or from bases 2, 4, 8,\n"
-"   16, and 32 are never limited.\n"
-"PYTHONMALLOC: set the Python memory allocators and/or install debug hooks\n"
-"   on Python memory allocators. Use PYTHONMALLOC=debug to install debug\n"
-"   hooks.\n"
+"                  when converting from a string and when converting an int\n"
+"                  back to a str.  A value of 0 disables the limit.\n"
+"                  Conversions to or from bases 2, 4, 8, 16, and 32 are never\n"
+"                  limited.\n"
+"PYTHONMALLOC    : set the Python memory allocators and/or install debug hooks\n"
+"                  on Python memory allocators.  Use PYTHONMALLOC=debug to\n"
+"                  install debug hooks.\n"
 "PYTHONCOERCECLOCALE: if this variable is set to 0, it disables the locale\n"
-"   coercion behavior. Use PYTHONCOERCECLOCALE=warn to request display of\n"
-"   locale coercion and locale compatibility warnings on stderr.\n"
+"                  coercion behavior.  Use PYTHONCOERCECLOCALE=warn to request\n"
+"                  display of locale coercion and locale compatibility warnings\n"
+"                  on stderr.\n"
 "PYTHONBREAKPOINT: if this variable is set to 0, it disables the default\n"
-"   debugger. It can be set to the callable of your debugger of choice.\n"
+"                  debugger.  It can be set to the callable of your debugger of\n"
+"                  choice.\n"
 "PYTHON_CPU_COUNT: Overrides the return value of os.process_cpu_count(),\n"
-"   os.cpu_count(), and multiprocessing.cpu_count() if set to a positive integer.\n"
-"PYTHONDEVMODE: enable the development mode.\n"
+"                  os.cpu_count(), and multiprocessing.cpu_count() if set to\n"
+"                  a positive integer.\n"
+"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"
-"   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"
-"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"
-"PYTHON_COLORS           : If this variable is set to 1, the interpreter will"
-"   colorize various kinds of output. Setting it to 0 deactivates this behavior.\n"
-"PYTHON_HISTORY          : the location of a .python_history file.\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"
-"PYTHONINSPECT           : inspect interactively after running script (-i)\n"
-"PYTHONINTMAXSTRDIGITS   : limit max digit characters in an int value\n"
-"                          (-X int_max_str_digits=number)\n"
-"PYTHONNOUSERSITE        : disable user site directory (-s)\n"
-"PYTHONOPTIMIZE          : enable level 1 optimizations (-O)\n"
-"PYTHONSAFEPATH          : don't prepend a potentially unsafe path to sys.path (-P)\n"
-"PYTHONUNBUFFERED        : disable stdout/stderr buffering (-u)\n"
-"PYTHONVERBOSE           : trace import statements (-v)\n"
-"PYTHONWARNINGS=arg      : warning control (-W arg)\n"
+"PYTHONNODEBUGRANGES: if this variable is set, it disables the inclusion of\n"
+"                  the tables mapping extra location information (end line,\n"
+"                  start column offset and end column offset) to every\n"
+"                  instruction in code objects.  This is useful when smaller\n"
+"                  code objects and pyc files are desired as well as\n"
+"                  suppressing the extra visual location indicators when the\n"
+"                  interpreter displays tracebacks.\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\n"
+"                  \"off\" if you are running a local build).\n"
+"PYTHON_COLORS   : if this variable is set to 1, the interpreter will colorize\n"
+"                  various kinds of output.  Setting it to 0 deactivates\n"
+"                  this behavior.\n"
+"PYTHON_HISTORY  : the location of a .python_history file.\n"
+"\n"
+"These variables have equivalent command-line options (see --help for details):\n"
+"PYTHONDEBUG     : enable parser debug mode (-d)\n"
+"PYTHONDONTWRITEBYTECODE: don't write .pyc files (-B)\n"
+"PYTHONINSPECT   : inspect interactively after running script (-i)\n"
+"PYTHONINTMAXSTRDIGITS: limit max digit characters in an int value\n"
+"                  (-X int_max_str_digits=number)\n"
+"PYTHONNOUSERSITE: disable user site directory (-s)\n"
+"PYTHONOPTIMIZE  : enable level 1 optimizations (-O)\n"
+"PYTHONSAFEPATH  : don't prepend a potentially unsafe path to sys.path.\n"
+"PYTHONUNBUFFERED: disable stdout/stderr buffering (-u)\n"
+"PYTHONVERBOSE   : trace import statements (-v)\n"
+"PYTHONWARNINGS=arg: warning control (-W arg)\n"
 #ifdef Py_STATS
-"PYTHONSTATS             : turns on statistics gathering\n"
+"PYTHONSTATS     : turns on statistics gathering\n"
 #endif
 #ifdef Py_DEBUG
-"PYTHON_PRESITE=pkg.mod  : import this module before site.py is run\n"
+"PYTHON_PRESITE=pkg.mod: import this module before site.py is run\n"
 #endif
 ;
 
@@ -2387,9 +2385,9 @@ static void
 config_complete_usage(const wchar_t* program)
 {
    config_usage(0, program);
-   puts("\n");
+   putchar('\n');
    config_envvars_usage();
-   puts("\n");
+   putchar('\n');
    config_xoptions_usage();
 }