This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PING][PATCH v3] Python API: Fix an exception when registering a global pretty-printer in verbose mode
- From: Doug Evans <dje at google dot com>
- To: Martin Galvan <martin dot galvan at tallertechnologies dot com>
- Cc: gdb-patches <gdb-patches at sourceware dot org>
- Date: Wed, 22 Apr 2015 12:35:17 -0700
- Subject: Re: [PING][PATCH v3] Python API: Fix an exception when registering a global pretty-printer in verbose mode
- Authentication-results: sourceware.org; auth=none
- References: <1429637147-5430-1-git-send-email-martin dot galvan at tallertechnologies dot com>
On Tue, Apr 21, 2015 at 10:25 AM, Martin Galvan
<martin.galvan@tallertechnologies.com> wrote:
> This patch fixes a Python exception that was being thrown when trying to register a global pretty-printer with verbose mode on:
>
> File "/usr/share/gdb/python/gdb/printing.py", line 119, in register_pretty_printer
> gdb.write("Registering global %s pretty-printer ...\n" % name)
> NameError: name 'name' is not defined
>
> This patch was previously accepted by Doug Evans (https://sourceware.org/ml/gdb-patches/2015-03/msg00312.html), but it was never committed.
>
> I have a company-wide copyright assignment for gdb. I don't have commit access though, so it would be great if anyone could commit this for me. Thanks a lot!
>
> Chamges in v3:
> * Added the function name to the ChangeLog entry, and wrapped it at 80 characters.
>
> Changes in v2:
> * Moved printer.name to the next line so that it won't break the 80 character limit.
>
> --
> ChangeLog:
>
> gdb/
> 2015-04-16 Martin Galvan <martin.galvan@tallertechnologies.com>
>
> * python/lib/gdb/printing.py (register_pretty_printer): Fix exception
> when registering a global pretty-printer in verbose mode.
> ---
> gdb/python/lib/gdb/printing.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gdb/python/lib/gdb/printing.py b/gdb/python/lib/gdb/printing.py
> index e384e41..c935333 100644
> --- a/gdb/python/lib/gdb/printing.py
> +++ b/gdb/python/lib/gdb/printing.py
> @@ -116,7 +116,8 @@ def register_pretty_printer(obj, printer, replace=False):
>
> if obj is None:
> if gdb.parameter("verbose"):
> - gdb.write("Registering global %s pretty-printer ...\n" % name)
> + gdb.write("Registering global %s pretty-printer ...\n" %
> + printer.name)
> obj = gdb
> else:
> if gdb.parameter("verbose"):
Hi.
Looking at the code again I found a couple more issues,
so I fixed those too and wrote a testcase.
https://sourceware.org/ml/gdb-patches/2015-04/msg00837.html