GNU bug report logs - #39180
27.0.50; [PATCH] Use expressions as memory location in gdb-mi memory buffer

Previous Next

Package: emacs;

Reported by: Yuan Fu <casouri <at> gmail.com>

Date: Sat, 18 Jan 2020 20:55:02 UTC

Severity: normal

Tags: patch

Found in version 27.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 39180 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Yuan Fu <casouri <at> gmail.com>
Cc: 39180 <at> debbugs.gnu.org
Subject: Re: bug#39180: 27.0.50;
 [PATCH] Use expressions as memory location in gdb-mi memory buffer
Date: Fri, 31 Jan 2020 12:05:43 +0200
> From: Yuan Fu <casouri <at> gmail.com>
> Date: Sat, 18 Jan 2020 15:54:35 -0500
> 
> Currently gdb-mi does allow expressions as memory address, but it translates it to a fixed address. This patch makes gdb to store the expression and re-evaluate on updates. So the address changes as expression’s value changes.

Thanks.

Are these 4 patches needed to add the above improvement, or is each
part of the series independent, and could be applied on its own right?

If the entire series should be applied in a single transaction, please
make then a single patch, as that makes it easier to review and
apply.  Otherwise, please explain what is the rationale for each part
separately, because I don't think I understand it.

> Before the memory buffer evaluates the expression as address
> and use the fixed result in each stop. This change stores the
> expression itself and reevaluates it in each stop for an address.
> Then displays the value of the memory at that address.

Two spaces between sentences (here and elsewhere in the patch),
please.

> lisp/progmodes/gdb-mi.el (gdb-memory-address-expression): new
>   (gdb-memory-address): change default value, add docstring
>   (def-gdb-trigger-and-handler gdb-invalidate-memory,
>   gdb-memory-set-address): replace ’gdb-memory-address’ with
>     ’gdb-memory-address-expression’
>   (gdb-memory-header): Add display for ’gdb-memory-address-expression’,
>     move the mouse event from address to expression

Please quote symbols 'like this'.

> * lisp/progmodes/gdb-mi.el (gdb-read-memory-custom):
> Break infinite loop. Change ’error’ to ’user-error’

I don't understand what infinite loop are you alluding to here, and
how did it come into existence.

> * lisp/progmodes/gdb-mi.el (gdb-memory-header):
> Protect against nil value

And what is the problem you are trying to solve here?

> * lisp/progmodes/gdb-mi.el (gdb--memory-display-warning): new
> (gdb-read-memory-custom, gdb-memory-header): Add warning

And what is this part about?




This bug report was last modified 5 years and 186 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.