Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-93217: fix some issues in man page and --help #93219

Merged
merged 4 commits into from
May 26, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions Misc/python.man
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ python \- an interpreted, interactive, object-oriented programming language
.B \-x
]
[
[
.B \-X
.I option
]
[
.B \-?
]
.br
Expand Down Expand Up @@ -310,7 +310,8 @@ Set implementation specific option. The following options are available:
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:
* Add default warning filter, as -W default
* Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks() C function
* Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks()
C function
* Enable the faulthandler module to dump the Python traceback on a crash
* Enable asyncio debug mode
* Set the dev_mode attribute of sys.flags to True
Expand All @@ -321,7 +322,19 @@ Set implementation specific option. The following options are available:
otherwise activate automatically). See PYTHONUTF8 for more details

-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the
given directory instead of to the code tree.
given directory instead of to the code tree.

-X warn_default_encoding: enable opt-in EncodingWarning for 'encoding=None'

-X no_debug_ranges: disable the inclusion of the tables mapping extra location
information (end line, start column offset and end column offset) to every
instruction in code objects. This is useful when smaller code objects and pyc
files are desired as well as suppressing the extra visual location indicators
when the interpreter displays tracebacks.

-X frozen_modules=[on|off]: whether or not frozen modules should be used
The default is "on" (or "off" if you are running a local build).

.TP
.B \-x
Skip the first line of the source. This is intended for a DOS
Expand Down
12 changes: 6 additions & 6 deletions Python/initconfig.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,12 @@ Options and arguments (and corresponding environment variables):\n\
and comparing bytes/bytearray with str. (-bb: issue errors)\n\
-B : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x\n\
-c cmd : program passed in as string (terminates option list)\n\
--check-hash-based-pycs always|default|never:\n\
control how Python invalidates hash-based .pyc files\n\
-d : turn on parser debugging output (for experts only, only works on\n\
debug builds); also PYTHONDEBUG=x\n\
-E : ignore PYTHON* environment variables (such as PYTHONPATH)\n\
-h : print this help message and exit (also --help)\n\
-h : print this help message and exit (also --help or -?)\n\
merwok marked this conversation as resolved.
Show resolved Hide resolved
";
static const char usage_2[] = "\
-i : inspect interactively after running script; forces a prompt even\n\
Expand Down Expand Up @@ -82,7 +84,8 @@ static const char usage_3[] = "\
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() C function\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\
Expand All @@ -100,9 +103,6 @@ static const char usage_3[] = "\
when the interpreter displays tracebacks.\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\
--check-hash-based-pycs always|default|never:\n\
control how Python invalidates hash-based .pyc files\n\
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm guessing this was kept separate because it is a long arg. I don't have much opinion on whether it should be kept separate or not. 🙂

Copy link
Member Author

@merwok merwok May 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t mind it staying at the end (edit: but not after -X options), but then I would move the item in the man page to match!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whatever works. :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the long options at the end of --help output, especially after the other PR that adds --help-env, --help-xoptions and --help-all). I am also not reordering the man page: long options are on the last line of the synopsis, and in alphabetical order in the full doc, both of which are good.

";
static const char usage_4[] = "\
file : program read from script file\n\
Expand Down Expand Up @@ -141,7 +141,7 @@ static const char usage_6[] =
"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 cothe de objects and pyc files are desired as well as suppressing the \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";

#if defined(MS_WINDOWS)
Expand Down