diff options
author | Pedro Alves <palves@redhat.com> | 2019-05-30 20:40:21 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2019-06-04 23:30:02 +0100 |
commit | 8ef80d1a68c64e5a0c37ae5246dc958e7b172392 (patch) | |
tree | 73346f4636d9fc92d24510556ec1c67a46959c7c | |
parent | 1b454409480e1335bbb3d500f6ee0a0cb5b0f5ba (diff) | |
download | binutils-gdb-8ef80d1a68c64e5a0c37ae5246dc958e7b172392.tar.gz |
"set print raw frame-arguments" -> "set print raw-frame-arguments"
A following patch will introduce options for the "backtrace" command,
based on some "set print" and "set backtrace" settings. There's one
setting in particular that is a bit annoying if we want to describe
the backtrace options and the settings commands using the same data
structures:
"set print raw frame-arguments"
The problem is that space between "raw" and "frame-arguments".
Calling the option
"bt -raw frame-arguments"
would be odd. So I'm calling the option
"bt -raw-frame-arguments"
instead.
And for consistency, this patch renames the set/show commands to:
"set print raw-frame-arguments"
"show print raw-frame-arguments"
I.e., dash instead of space. The old commands are left in place, but
marked deprecated.
We need to adjust a couple testcases, because the relevant tests use
gdb_test_no_output and the old commands are no longer silent:
(gdb) set print raw frame-arguments on
Warning: command 'set print raw frame-arguments' is deprecated.
Use 'set print raw-frame-arguments'.
gdb/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* NEWS (Changed commands): Mention set/show print raw-frame-arguments,
and that "set/show print raw frame-arguments" are now deprecated.
* cli/cli-decode.c (add_setshow_boolean_cmd): Now returns the
command.
* command.h (add_setshow_boolean_cmd): Return cmd_list_element *.
* stack.c (_initialize_stack): Install "set/show print
raw-frame-arguments", and deprecate "set/show print raw
frame-arguments".
* valprint.c (_initialize_valprint): Deprecate "set/show print
raw".
gdb/doc/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* gdb.texinfo (Print Settings): Document "set/show print
raw-frame-arguments" instead of "set/show print raw
frame-arguments".
gdb/testsuite/ChangeLog:
yyyy-mm-dd Pedro Alves <palves@redhat.com>
* gdb.guile/scm-frame-args.exp: Use "set print
raw-frame-arguments" instead of "set print raw frame-arguments".
* gdb.python/py-frame-args.exp: Likewise.
-rw-r--r-- | gdb/NEWS | 7 | ||||
-rw-r--r-- | gdb/cli/cli-decode.c | 8 | ||||
-rw-r--r-- | gdb/command.h | 19 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 6 | ||||
-rw-r--r-- | gdb/stack.c | 16 | ||||
-rw-r--r-- | gdb/testsuite/gdb.guile/scm-frame-args.exp | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-frame-args.exp | 4 | ||||
-rw-r--r-- | gdb/valprint.c | 19 |
8 files changed, 57 insertions, 26 deletions
@@ -105,6 +105,13 @@ show style a style name in their output using its own style, to help the user visualize the different styles. +set print raw-frame-arguments +show print raw-frame-arguments + + These commands replace the similarly-named "set/show print raw + frame-arguments" commands (now with a dash instead of a space). The + old commands are now deprecated and may be removed in a future + release. * New MI commands diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index d739a0d648a..a6ddd8cc6d8 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -585,8 +585,10 @@ const char * const boolean_enums[] = { "on", "off", NULL }; /* Add element named NAME to both the set and show command LISTs (the list for set/show or some sublist thereof). CLASS is as in add_cmd. VAR is address of the variable which will contain the - value. SET_DOC and SHOW_DOC are the documentation strings. */ -void + value. SET_DOC and SHOW_DOC are the documentation strings. + Returns the new command element. */ + +cmd_list_element * add_setshow_boolean_cmd (const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, @@ -603,6 +605,8 @@ add_setshow_boolean_cmd (const char *name, enum command_class theclass, int *var set_list, show_list, &c, NULL); c->enums = boolean_enums; + + return c; } /* Add element named NAME to both the set and show command LISTs (the diff --git a/gdb/command.h b/gdb/command.h index 26e40290089..4d52f00de51 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -328,15 +328,16 @@ extern void add_setshow_auto_boolean_cmd (const char *name, struct cmd_list_element **set_list, struct cmd_list_element **show_list); -extern void add_setshow_boolean_cmd (const char *name, - enum command_class theclass, - int *var, - const char *set_doc, const char *show_doc, - const char *help_doc, - cmd_const_sfunc_ftype *set_func, - show_value_ftype *show_func, - struct cmd_list_element **set_list, - struct cmd_list_element **show_list); +extern cmd_list_element * + add_setshow_boolean_cmd (const char *name, + enum command_class theclass, + int *var, + const char *set_doc, const char *show_doc, + const char *help_doc, + cmd_const_sfunc_ftype *set_func, + show_value_ftype *show_func, + struct cmd_list_element **set_list, + struct cmd_list_element **show_list); extern void add_setshow_filename_cmd (const char *name, enum command_class theclass, diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 07dc2463d90..2b8758f70f5 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -10533,16 +10533,16 @@ thus speeding up the display of each Ada frame. @item show print frame-arguments Show how the value of arguments should be displayed when printing a frame. -@item set print raw frame-arguments on +@item set print raw-frame-arguments on Print frame arguments in raw, non pretty-printed, form. -@item set print raw frame-arguments off +@item set print raw-frame-arguments off Print frame arguments in pretty-printed form, if there is a pretty-printer for the value (@pxref{Pretty Printing}), otherwise print the value in raw form. This is the default. -@item show print raw frame-arguments +@item show print raw-frame-arguments Show whether to print frame arguments in raw form. @anchor{set print entry-values} diff --git a/gdb/stack.c b/gdb/stack.c index 408c795e385..d1b195c84d6 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -3106,14 +3106,26 @@ Usage: func NAME")); _("Show printing of non-scalar frame arguments"), NULL, NULL, NULL, &setprintlist, &showprintlist); - add_setshow_boolean_cmd ("frame-arguments", no_class, + /* Install "set print raw frame-arguments", a deprecated spelling of + "set print raw-frame-arguments". */ + cmd = add_setshow_boolean_cmd ("frame-arguments", no_class, + &print_raw_frame_arguments, _("\ +Set whether to print frame arguments in raw form."), _("\ +Show whether to print frame arguments in raw form."), _("\ +If set, frame arguments are printed in raw form, bypassing any\n\ +pretty-printers for that value."), + NULL, NULL, + &setprintrawlist, &showprintrawlist); + deprecate_cmd (cmd, "set print raw-frame-arguments"); + + add_setshow_boolean_cmd ("raw-frame-arguments", no_class, &print_raw_frame_arguments, _("\ Set whether to print frame arguments in raw form."), _("\ Show whether to print frame arguments in raw form."), _("\ If set, frame arguments are printed in raw form, bypassing any\n\ pretty-printers for that value."), NULL, NULL, - &setprintrawlist, &showprintrawlist); + &setprintlist, &showprintlist); add_setshow_auto_boolean_cmd ("disassemble-next-line", class_stack, &disassemble_next_line, _("\ diff --git a/gdb/testsuite/gdb.guile/scm-frame-args.exp b/gdb/testsuite/gdb.guile/scm-frame-args.exp index 9a531f08e8d..cae21677eaf 100644 --- a/gdb/testsuite/gdb.guile/scm-frame-args.exp +++ b/gdb/testsuite/gdb.guile/scm-frame-args.exp @@ -38,7 +38,7 @@ gdb_continue_to_breakpoint "break-here" ".* break-here .*" # Test all combinations with raw off. -gdb_test_no_output "set print raw frame-arguments off" +gdb_test_no_output "set print raw-frame-arguments off" gdb_test_no_output "set print frame-arguments none" gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ @@ -57,7 +57,7 @@ gdb_test "frame" \ # Test all combinations with raw on. -gdb_test_no_output "set print raw frame-arguments on" +gdb_test_no_output "set print raw-frame-arguments on" gdb_test_no_output "set print frame-arguments none" gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ diff --git a/gdb/testsuite/gdb.python/py-frame-args.exp b/gdb/testsuite/gdb.python/py-frame-args.exp index a32473568bb..b921330ddb6 100644 --- a/gdb/testsuite/gdb.python/py-frame-args.exp +++ b/gdb/testsuite/gdb.python/py-frame-args.exp @@ -36,7 +36,7 @@ gdb_continue_to_breakpoint "break-here" ".* break-here .*" # Test all combinations with raw off. -gdb_test_no_output "set print raw frame-arguments off" +gdb_test_no_output "set print raw-frame-arguments off" gdb_test_no_output "set print frame-arguments none" gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ @@ -53,7 +53,7 @@ gdb_test "frame" \ # Test all combinations with raw on. -gdb_test_no_output "set print raw frame-arguments on" +gdb_test_no_output "set print raw-frame-arguments on" gdb_test_no_output "set print frame-arguments none" gdb_test "frame" ".*foo \\(x=\[.\]{3}, ss=\[.\]{3}\\).*" \ diff --git a/gdb/valprint.c b/gdb/valprint.c index e3197e69192..6f9b47da80c 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -3248,6 +3248,8 @@ make_value_print_options_def_group (value_print_options *opts) void _initialize_valprint (void) { + cmd_list_element *cmd; + add_prefix_cmd ("print", no_class, set_print, _("Generic command for setting how things print."), &setprintlist, "set print ", 0, &setlist); @@ -3261,13 +3263,18 @@ _initialize_valprint (void) add_alias_cmd ("p", "print", no_class, 1, &showlist); add_alias_cmd ("pr", "print", no_class, 1, &showlist); - add_prefix_cmd ("raw", no_class, set_print_raw, - _("\ + cmd = add_prefix_cmd ("raw", no_class, set_print_raw, + _("\ Generic command for setting what things to print in \"raw\" mode."), - &setprintrawlist, "set print raw ", 0, &setprintlist); - add_prefix_cmd ("raw", no_class, show_print_raw, - _("Generic command for showing \"print raw\" settings."), - &showprintrawlist, "show print raw ", 0, &showprintlist); + &setprintrawlist, "set print raw ", 0, + &setprintlist); + deprecate_cmd (cmd, nullptr); + + cmd = add_prefix_cmd ("raw", no_class, show_print_raw, + _("Generic command for showing \"print raw\" settings."), + &showprintrawlist, "show print raw ", 0, + &showprintlist); + deprecate_cmd (cmd, nullptr); gdb::option::add_setshow_cmds_for_options (class_support, &user_print_options, value_print_option_defs, |