diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2021-06-25 21:38:25 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2021-06-25 21:39:26 -0400 |
commit | 4c0ba02a749d84a7e569e010fca9f640c30d17df (patch) | |
tree | db5935ef09b75752a45b41f724d63e0c1c7d6c69 /gdb | |
parent | d6ff04a343f97026f7d23bb036e0f858b21f3bfd (diff) | |
download | gdb-4c0ba02a749d84a7e569e010fca9f640c30d17df.zip gdb-4c0ba02a749d84a7e569e010fca9f640c30d17df.tar.gz gdb-4c0ba02a749d84a7e569e010fca9f640c30d17df.tar.bz2 |
gdb: remove context parameter from add_setshow_enum_cmd
I propose removing the context parameter from add_setshow_enum_cmd. It
was useful before add_setshow_enum_cmd returned both created commands,
as the caller couldn't easily set the context itself. But now, I think
it's fine to just let the caller do it.
gdb/ChangeLog:
* command.h (add_setshow_enum_cmd): Remove context parameter.
* cli/cli-decode.c (add_setshow_enum_cmd): Likewise, and don't
set context.
* cli/cli-style.c (cli_style_option::add_setshow_commands): Set
context here.
Change-Id: I377c4e6820ec9d5069492ed28f4cba342ce1336e
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/cli/cli-decode.c | 7 | ||||
-rw-r--r-- | gdb/cli/cli-style.c | 62 | ||||
-rw-r--r-- | gdb/command.h | 2 |
4 files changed, 48 insertions, 31 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6ba91d8..9acde12 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2021-06-25 Simon Marchi <simon.marchi@polymtl.ca> + * command.h (add_setshow_enum_cmd): Remove context parameter. + * cli/cli-decode.c (add_setshow_enum_cmd): Likewise, and don't + set context. + * cli/cli-style.c (cli_style_option::add_setshow_commands): Set + context here. + +2021-06-25 Simon Marchi <simon.marchi@polymtl.ca> + * cli/cli-decode.h (struct cmd_list_element) <set_context>: Add assert. diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c index f2fdeb0..633a3ad 100644 --- a/gdb/cli/cli-decode.c +++ b/gdb/cli/cli-decode.c @@ -571,8 +571,7 @@ add_setshow_enum_cmd (const char *name, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, - struct cmd_list_element **show_list, - void *context) + struct cmd_list_element **show_list) { set_show_commands commands = add_setshow_cmd_full (name, theclass, var_enum, var, @@ -580,10 +579,6 @@ add_setshow_enum_cmd (const char *name, set_func, show_func, set_list, show_list); commands.set->enums = enumlist; - - commands.set->set_context (context); - commands.show->set_context (context); - return commands; } diff --git a/gdb/cli/cli-style.c b/gdb/cli/cli-style.c index 0b88dba..aca19c5 100644 --- a/gdb/cli/cli-style.c +++ b/gdb/cli/cli-style.c @@ -230,32 +230,46 @@ cli_style_option::add_setshow_commands (enum command_class theclass, 0, set_list); add_show_prefix_cmd (m_name, no_class, prefix_doc, &m_show_list, 0, show_list); + set_show_commands commands; + + commands = add_setshow_enum_cmd + ("foreground", theclass, cli_colors, + &m_foreground, + _("Set the foreground color for this property."), + _("Show the foreground color for this property."), + nullptr, + do_set_value, + do_show_foreground, + &m_set_list, &m_show_list); + commands.set->set_context (this); + commands.show->set_context (this); + + commands = add_setshow_enum_cmd + ("background", theclass, cli_colors, + &m_background, + _("Set the background color for this property."), + _("Show the background color for this property."), + nullptr, + do_set_value, + do_show_background, + &m_set_list, &m_show_list); + commands.set->set_context (this); + commands.show->set_context (this); - add_setshow_enum_cmd ("foreground", theclass, cli_colors, - &m_foreground, - _("Set the foreground color for this property."), - _("Show the foreground color for this property."), - nullptr, - do_set_value, - do_show_foreground, - &m_set_list, &m_show_list, (void *) this); - add_setshow_enum_cmd ("background", theclass, cli_colors, - &m_background, - _("Set the background color for this property."), - _("Show the background color for this property."), - nullptr, - do_set_value, - do_show_background, - &m_set_list, &m_show_list, (void *) this); if (!skip_intensity) - add_setshow_enum_cmd ("intensity", theclass, cli_intensities, - &m_intensity, - _("Set the display intensity for this property."), - _("Show the display intensity for this property."), - nullptr, - do_set_value, - do_show_intensity, - &m_set_list, &m_show_list, (void *) this); + { + commands = add_setshow_enum_cmd + ("intensity", theclass, cli_intensities, + &m_intensity, + _("Set the display intensity for this property."), + _("Show the display intensity for this property."), + nullptr, + do_set_value, + do_show_intensity, + &m_set_list, &m_show_list); + commands.set->set_context (this); + commands.show->set_context (this); + } } static cmd_list_element *style_set_list; diff --git a/gdb/command.h b/gdb/command.h index 9413a50..711cbdc 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -403,7 +403,7 @@ extern set_show_commands add_setshow_enum_cmd const char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_const_sfunc_ftype *set_func, show_value_ftype *show_func, cmd_list_element **set_list, - cmd_list_element **show_list, void *context = nullptr); + cmd_list_element **show_list); extern set_show_commands add_setshow_auto_boolean_cmd (const char *name, command_class theclass, auto_boolean *var, |