From: Daniel Jacobowitz <drow@false.org>
To: Nick Roberts <nickrob@snap.net.nz>
Cc: Bob Rossi <bob@brasko.net>, gdb-patches@sources.redhat.com
Subject: Re: [PATCH: gdb/mi + doco] -var-update
Date: Fri, 17 Jun 2005 03:43:00 -0000 [thread overview]
Message-ID: <20050617034329.GH17013@nevyn.them.org> (raw)
In-Reply-To: <17013.54662.20554.239976@farnswood.snap.net.nz>
This is basically OK. A couple of things:
On Mon, May 02, 2005 at 07:23:50PM +1200, Nick Roberts wrote:
> 2005-05-02 Nick Roberts <nickrob@snap.net.nz>
>
> * mi/mi-cmds.h: Add extern declarations for string constants for
> MI command options.
>
> * mi/mi-cmd-var.c: Define string constants for MI command options.
> (mi_cmd_var_list_children): : Use string constants instead of
Stray colon there.
> literals for MI command options.
> (mi_cmd_var_update): New option --with-values for -var-update.
> (varobj_update_one): Add argument for new option.
>
> * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Use string
> constants instead of literals for MI command options.
> + extern const char mi_no_values[];
> + extern const char mi_with_values[];
> + extern const char mi_simple_values[];
> + extern const char mi_all_values[];
Both here and in mi-cmd-var.c, please list these in the changelog:
* mi/mi-cmds.h (mi_no_values, mi_with_values, mi_simple_values)
(mi_all_values): New declarations.
* mi/mi-cmds.c (mi_no_values, mi_with_values, mi_simple_values)
(mi_all_values): New string constants.
...
> --- 268,296 ----
> error (_("mi_cmd_var_list_children: Usage: [PRINT_VALUES] NAME"));
>
> /* Get varobj handle, if a valid var obj name was specified */
> ! if (argc == 1)
> ! var = varobj_get_handle (argv[0]);
> ! else
> ! var = varobj_get_handle (argv[1]);
> if (var == NULL)
> error (_("Variable object not found"));
>
> numchild = varobj_list_children (var, &childlist);
> ui_out_field_int (uiout, "numchild", numchild);
> if (argc == 2)
> ! {
> ! if (strcmp (argv[0], "0") == 0
> ! || strcmp (argv[0], mi_no_values) == 0)
> ! print_values = PRINT_NO_VALUES;
> ! else if (strcmp (argv[0], "1") == 0
> ! || strcmp (argv[0], mi_with_values) == 0)
> ! print_values = PRINT_ALL_VALUES;
> ! else
> ! error (_("Unknown value for PRINT_VALUES: \
> ! must be: 0 or \"%s\", 1 or \"%s\""), mi_no_values, mi_with_values);
> ! }
> ! else
> ! print_values = PRINT_NO_VALUES;
>
> if (numchild <= 0)
> return MI_CMD_DONE;
Andrew's right that it would be nice to use mi_getopt here, but we
can't as-is; it doesn't do long options. That'd be good to fix
someday.
You've replaced "--all-values" in the source with "--with-values" here.
Surely that's a bug?
I don't remember the entire outcome of your discussion with Eli, but I
find the idea of having --with-values sometimes and --all-values other
times a bit confusing. I went trying to figure out which meant what
and that's when I noticed this problem.
> ! if (argc == 1)
> ! name = argv[0];
> ! else
> ! name = (argv[1]);
Stray parentheses.
> ! if (argc == 2)
> ! {
> ! if (strcmp (argv[0], "0") == 0
> ! || strcmp (argv[0], mi_no_values) == 0)
> ! print_values = PRINT_NO_VALUES;
> ! else if (strcmp (argv[0], "1") == 0
> ! || strcmp (argv[0], mi_with_values) == 0)
> ! print_values = PRINT_ALL_VALUES;
> ! else
> ! error (_("Unknown value for PRINT_VALUES: \
> ! must be: 0 or \"%s\", 1 or \"%s\""), mi_no_values, mi_with_values);
> ! }
> ! else
> ! print_values = PRINT_NO_VALUES;
>
> /* Check if the parameter is a "*" which means that we want
> to update all variables */
IIRC, you added the "0"/"1" compatibility to -var-list-children to make
life easier for Apple. Is that right? If so, do they need it here
also, or can we get away with just --all-values? I've no real
objection to the 0/1, but they're a bit ugly.
> *** /home/nick/src/gdb/doc/gdb.texinfo.~1.249.~ 2005-05-02 14:28:29.000000000 +1200
> --- /home/nick/src/gdb/doc/gdb.texinfo 2005-05-02 19:12:12.000000000 +1200
> ***************
> *** 20331,20336 ****
> --- 20331,20342 ----
> variables. With an optional preceding argument of 1 or @code{--all-values},
> also prints their values.
>
> + Returns a list of the children of the specified variable object. With
> + just the variable object name as an argument or with an optional
> + preceding argument of 0 or @code{--no-values}, prints only the names
> + of the variables. With an optional value for @var{print-values} of 1
> + or @code{--with-values}, also prints their values.
> +
> @subsubheading Example
>
> @smallexample
This paragraph must be in the wrong place. It's mostly duplicating the
paragraph above it.
> ***************
> *** 20451,20463 ****
> @subsubheading Synopsis
>
> @smallexample
> ! -var-update @{@var{name} | "*"@}
> @end smallexample
>
> Update the value of the variable object @var{name} by evaluating its
> expression after fetching all the new values from memory or registers.
> ! A @samp{*} causes all existing variable objects to be updated.
>
>
> @node Annotations
> @chapter @value{GDBN} Annotations
> --- 20457,20485 ----
> @subsubheading Synopsis
>
> @smallexample
> ! -var-update [@var{print-values}] @{@var{name} | "*"@}
> @end smallexample
>
> Update the value of the variable object @var{name} by evaluating its
> expression after fetching all the new values from memory or registers.
> ! A @samp{*} causes all existing variable objects to be updated. With
> ! just a single argument or with an optional value for
> ! @var{print-values} of 0 or @code{--no-values}, prints only the names
> ! of the variables. A value for @var{print-values} of 1 or
> ! @code{--with-values}, also prints their values.
I think the comma probably shouldn't be there.
> ! @subsubheading Example
>
> + @smallexample
> + (@value{GDBP})
> + -var-assign var1 3
> + ^done,value="3"
> + (@value{GDBP})
> + -var-update --all-values var1
> + ^done,changelist=[@{name="var1",value="3",in_scope="true",
> + type_changed="false"@}]
> + (@value{GDBP})
> + @end smallexample
>
> @node Annotations
> @chapter @value{GDBN} Annotations
>
--
Daniel Jacobowitz
CodeSourcery, LLC
next prev parent reply other threads:[~2005-06-17 3:43 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-20 2:06 Nick Roberts
2005-02-20 5:02 ` Eli Zaretskii
2005-02-20 5:51 ` Nick Roberts
2005-02-20 15:31 ` Eli Zaretskii
2005-02-21 4:33 ` Nick Roberts
2005-02-21 7:17 ` Eli Zaretskii
2005-02-22 9:23 ` Nick Roberts
2005-02-22 9:34 ` Eli Zaretskii
2005-02-27 5:03 ` Nick Roberts
2005-02-27 16:53 ` Eli Zaretskii
2005-02-27 16:56 ` Nick Roberts
2005-02-28 12:27 ` Eli Zaretskii
2005-03-19 3:55 ` Nick Roberts
2005-04-01 1:51 ` Bob Rossi
2005-04-01 11:01 ` Nick Roberts
2005-05-02 2:06 ` Nick Roberts
2005-05-02 4:05 ` Daniel Jacobowitz
2005-05-02 7:24 ` Nick Roberts
2005-06-17 3:43 ` Daniel Jacobowitz [this message]
2005-06-17 10:09 ` Eli Zaretskii
2005-06-17 14:04 ` Daniel Jacobowitz
2005-06-18 8:53 ` Eli Zaretskii
2005-07-03 19:56 ` Daniel Jacobowitz
2005-07-04 3:07 ` Nick Roberts
2005-07-04 3:51 ` Daniel Jacobowitz
2005-07-04 4:55 ` Eli Zaretskii
2005-07-04 5:02 ` Daniel Jacobowitz
2005-07-04 10:17 ` Nick Roberts
2005-07-06 10:00 ` Nick Roberts
2005-07-15 1:44 ` Daniel Jacobowitz
2005-07-15 3:59 ` Nick Roberts
2005-07-15 4:16 ` Daniel Jacobowitz
2005-07-15 15:11 ` Nick Roberts
2005-07-15 15:28 ` Daniel Jacobowitz
2005-07-15 22:37 ` Nick Roberts
2005-07-04 21:15 ` Nick Roberts
2005-07-04 22:24 ` Eli Zaretskii
2005-07-05 3:25 ` Nick Roberts
2005-07-05 19:37 ` Eli Zaretskii
2005-07-15 9:42 ` Nick Roberts
2005-06-17 11:42 ` Nick Roberts
2005-06-17 14:06 ` Daniel Jacobowitz
2005-06-17 23:12 ` Nick Roberts
2005-02-21 2:36 ` Andrew Cagney
2005-02-21 3:28 ` Nick Roberts
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=20050617034329.GH17013@nevyn.them.org \
--to=drow@false.org \
--cc=bob@brasko.net \
--cc=gdb-patches@sources.redhat.com \
--cc=nickrob@snap.net.nz \
/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