set/show python dont-write-bytecode fixes
authorKevin Buettner <kevinb@redhat.com>
Mon, 25 Jul 2022 19:04:10 +0000 (12:04 -0700)
committerKevin Buettner <kevinb@redhat.com>
Mon, 25 Jul 2022 19:05:14 +0000 (12:05 -0700)
commit24d2cbc42ccf08dba79394635db3be084eed9062
tree5ca03b1fe4cb30ead26999da1c83da08af874faf
parent23aa2befce75966acd388b810e139922857533fa
set/show python dont-write-bytecode fixes

GDB uses the environment variable PYTHONDONTWRITEBYTECODE to
determine whether or not to write the result of byte-compiling
python modules when the "python dont-write-bytecode" setting
is "auto".  Simon noticed that GDB's implementation doesn't
follow the Python documentation.

At present, GDB only checks for the existence of this environment
variable.  That is not sufficient though.  Regarding
PYTHONDONTWRITEBYTECODE, this document...

    https://docs.python.org/3/using/cmdline.html

...says:

    If this is set to a non-empty string, Python won't try to write
    .pyc files on the import of source modules.

This commit fixes GDB's handling of PYTHONDONTWRITEBYTECODE by adding
an empty string check.

This commit also corrects the set/show command documentation for
"python dont-write-bytecode".  The current doc was just a copy
of that for set/show python ignore-environment.

During his review of an earlier version of this patch, Eli Zaretskii
asked that the help text that I proposed for "set/show python
dont-write-bytecode" be expanded.  I've done that in addition to
clarifying the documentation of this option in the GDB manual.
gdb/doc/python.texi
gdb/python/python.c