From: "André Pönitz" <andre.poenitz@mathematik.tu-chemnitz.de>
To: Tom Tromey <tromey@redhat.com>
Cc: xgsa <xgsa@yandex.ua>,
"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
Vladimir_Prus@mentor.com
Subject: Re: [patch] Use the string returned by pretty printer for MI varobjs instead of "{...}"
Date: Wed, 16 May 2012 01:05:00 -0000 [thread overview]
Message-ID: <20120516010500.GB3321@klara.mpi.htwm.de> (raw)
In-Reply-To: <87likttnme.fsf@fleche.redhat.com>
On Tue, May 15, 2012 at 10:28:25AM -0600, Tom Tromey wrote:
> >>>>> "Anton" == xgsa <xgsa@yandex.ua> writes:
>
> Anton> The documentation for -var-create says that "for a varobj whose type
> Anton> is some sort of aggregate (e.g., a struct), or for a dynamic varobj,
> Anton> the 'value' attribute will not be interesting". That's not true, as
> Anton> dynamic varobj could also have no children (so its value will be not
> Anton> "{...}" and will be interesting). However I think the string value of
> Anton> varobj that has pretty printer installed should always be returned via
> Anton> MI. It could contain such a useful information as container length or
> Anton> reference count for smart pointers. Moreover, it seems that this
> Anton> information cannot be accessed via MI in another way. This patch
> Anton> contains the proposed fix, documentation and test suite update.
>
> The patch itself looks fine, but I am not sure whether it should go in.
>
> My recollection is that the code originally worked this way, but
> Vladimir asked for the "{...}" behavior specifically.
It might affect frontends taking a "{...}" as indication that there
are childrens. In fact, I just found some code using that as a shortcut.
The safe way would be to add a new field 'formatted-value' or similar
with the new value, and perhaps even announce the feature using
-list-features, but I doubt this is worth the trouble.
I am not sure how frontend developers interpret "27.4 gdb/mi Development
and Front Ends", or how much they rely on it in general.
The list of "to be expexted changes" mentions
* New MI commands may be added.
* New fields may be added to the output of any MI command.
* The range of values for fields with specified values, e.g., in_scope
(see -var-update) may be extended.
It's not directly obviously to me that this list is meant to be
exhaustive, and even if, whether the third bullet point covers
changing existing values, but there is precedence that changing
values was prefered over adding a new field in the past, so there
is no real reason to not do it again.
Andre'
next prev parent reply other threads:[~2012-05-16 1:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-22 20:17 xgsa
2012-04-27 18:51 ` xgsa
2012-05-03 6:51 ` xgsa
2012-05-03 14:57 ` Joel Brobecker
2012-05-08 6:40 ` xgsa
2012-05-15 5:45 ` xgsa
2012-05-04 7:45 ` Eli Zaretskii
2012-05-15 16:28 ` Tom Tromey
2012-05-16 1:05 ` André Pönitz [this message]
2012-05-16 14:59 ` Tom Tromey
2012-05-17 12:19 ` André Pönitz
2012-05-17 12:58 ` Vladimir Prus
2012-05-17 19:07 ` xgsa
2012-05-21 19:04 ` xgsa
2012-05-17 15:27 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120516010500.GB3321@klara.mpi.htwm.de \
--to=andre.poenitz@mathematik.tu-chemnitz.de \
--cc=Vladimir_Prus@mentor.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
--cc=xgsa@yandex.ua \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox