[PATCH v2] set/show python dont-write-bytecode fixes

Simon Marchi simark@simark.ca
Mon Jul 25 01:04:58 GMT 2022



On 2022-07-23 17:23, Kevin Buettner wrote:
> 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 | 11 ++++++++---
>  gdb/python/python.c | 32 +++++++++++++++++++++++++-------
>  2 files changed, 33 insertions(+), 10 deletions(-)
> 
> diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
> index eeb847aeaa8..6d7bb832c22 100644
> --- a/gdb/doc/python.texi
> +++ b/gdb/doc/python.texi
> @@ -134,9 +134,14 @@ initialized early during @value{GDBN}'s startup process, then this
>  option must be placed into the early initialization file
>  (@pxref{Initialization Files}) to have the desired effect.
>  
> -By default this option is set to @samp{auto}, in this mode Python will
> -check the environment variable @env{PYTHONDONTWRITEBYTECODE} to see
> -if it should write out byte-code or not.
> +By default this option is set to @samp{auto}.  In this mode, provided
> +the @code{python ignore-environment} setting is @samp{off}, the
> +environment variable @env{PYTHONDONTWRITEBYTECODE} is examined to see
> +if it should write out byte-code or not. 

Spurious space at the end of this line.  Otherwise, LGTM.

Simon


More information about the Gdb-patches mailing list