This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
RFA: Ugly "show user" output revisited
- From: Jackie Smith Cashion <jsmith at redhat dot com>
- To: GDB Patches <gdb-patches at sources dot redhat dot com>
- Date: Thu, 13 Dec 2001 08:58:34 -0600
- Subject: RFA: Ugly "show user" output revisited
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"
}