aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2021-06-25 21:38:25 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2021-06-25 21:39:26 -0400
commit4c0ba02a749d84a7e569e010fca9f640c30d17df (patch)
treedb5935ef09b75752a45b41f724d63e0c1c7d6c69
parentd6ff04a343f97026f7d23bb036e0f858b21f3bfd (diff)
downloadgdb-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
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/cli/cli-decode.c7
-rw-r--r--gdb/cli/cli-style.c62
-rw-r--r--gdb/command.h2
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,