This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: Ugly "show user" output revisited
- From: Fernando Nasser <fnasser at redhat dot com>
- To: Jackie Smith Cashion <jsmith at redhat dot com>
- Cc: GDB Patches <gdb-patches at sources dot redhat dot com>
- Date: Thu, 13 Dec 2001 13:44:39 -0500
- Subject: Re: RFA: Ugly "show user" output revisited
- Organization: Red Hat , Inc. - Toronto
- References: <3C18C219.3AC7CBC1@redhat.com>
Jackie,
Have you checked if the output is OK with -i=mi as well?
Asuuming you did test that, you can check this in.
And thanks for the fix.
Fernando
Jackie Smith Cashion wrote:
>
> In September I submitted a proposed patch to fix the "show user" output.
> (Command verbs like "if" and "while" are displayed twice.) I got
> involved in another project and let that patch fall on the floor. Here
> is a new variation of that patch with an associated testsuite change
> that I would like for you to consider. -- Jackie
>
> gdb/ChangeLog:
>
> 2001-12-13 Jackie Smith Cashion <jsmith@redhat.com>
>
> * cli/cli-script.c (print_command_lines): Remove extra
> "if", "else", "while", and "end" from show user output.
>
> testsuite/ChangeLog:
>
> 2001-12-13 Jackie Smith Cashion <jsmith@redhat.com>
>
> * gdb.base/commands.exp (user_defined_command_test): Make "show user"
> test
> expect string more specific.
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Index: cli-script.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/cli/cli-script.c,v
> retrieving revision 1.7
> diff -c -3 -p -r1.7 cli-script.c
> *** cli-script.c 2001/06/17 15:16:12 1.7
> --- cli-script.c 2001/12/13 14:24:46
> *************** print_command_lines (struct ui_out *uiou
> *** 171,184 ****
> /* A while command. Recursively print its subcommands and continue. */
> if (list->control_type == while_control)
> {
> - ui_out_text (uiout, "while ");
> ui_out_field_fmt (uiout, NULL, "while %s", list->line);
> ui_out_text (uiout, "\n");
> print_command_lines (uiout, *list->body_list, depth + 1);
> - ui_out_field_string (uiout, NULL, "end");
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ! ui_out_text (uiout, "end\n");
> list = list->next;
> continue;
> }
> --- 171,183 ----
> /* A while command. Recursively print its subcommands and continue. */
> if (list->control_type == while_control)
> {
> ui_out_field_fmt (uiout, NULL, "while %s", list->line);
> ui_out_text (uiout, "\n");
> print_command_lines (uiout, *list->body_list, depth + 1);
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ! ui_out_field_string (uiout, NULL, "end");
> ! ui_out_text (uiout, "\n");
> list = list->next;
> continue;
> }
> *************** print_command_lines (struct ui_out *uiou
> *** 186,192 ****
> /* An if command. Recursively print both arms before continueing. */
> if (list->control_type == if_control)
> {
> - ui_out_text (uiout, "if ");
> ui_out_field_fmt (uiout, NULL, "if %s", list->line);
> ui_out_text (uiout, "\n");
> /* The true arm. */
> --- 185,190 ----
> *************** print_command_lines (struct ui_out *uiou
> *** 198,211 ****
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ui_out_field_string (uiout, NULL, "else");
> ! ui_out_text (uiout, "else\n");
> print_command_lines (uiout, list->body_list[1], depth + 1);
> }
>
> - ui_out_field_string (uiout, NULL, "end");
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ! ui_out_text (uiout, "end\n");
> list = list->next;
> continue;
> }
> --- 196,209 ----
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ui_out_field_string (uiout, NULL, "else");
> ! ui_out_text (uiout, "\n");
> print_command_lines (uiout, list->body_list[1], depth + 1);
> }
>
> if (depth)
> ui_out_spaces (uiout, 2 * depth);
> ! ui_out_field_string (uiout, NULL, "end");
> ! ui_out_text (uiout, "\n");
> list = list->next;
> continue;
> }
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Index: commands.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.base/commands.exp,v
> retrieving revision 1.9
> diff -c -3 -p -r1.9 commands.exp
> *** commands.exp 2001/05/23 19:04:13 1.9
> --- commands.exp 2001/12/13 14:25:52
> *************** proc user_defined_command_test {} {
> *** 261,267 ****
> "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" \
> "execute user defined command in user_defined_command_test"
> gdb_test "show user mycommand" \
> ! "while.*set.*if.*p/x.*else.*p/x.*end.*" \
> "display user command in user_defined_command_test"
> }
>
> --- 261,267 ----
> "\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface\[^\n\]*\n\\\$\[0-9\]* = 0xdeadbeef\[^\n\]*\n\\\$\[0-9\]* = 0xfeedface" \
> "execute user defined command in user_defined_command_test"
> gdb_test "show user mycommand" \
> ! " while \\\$arg0.*set.* if \\\(\\\$arg0.*p/x.* else\[^\n\].*p/x.* end\[^\n\].* end\[^\n\].*" \
> "display user command in user_defined_command_test"
> }
>
--
Fernando Nasser
Red Hat - Toronto E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9