Use add_setshow_enum_cmd through out.
* arch-utils.c, charset.c, demangle.c, i386-tdep.c: Update.
* infrun.c, mips-tdep.c, osabi.c, serial.c, tui/tui-win.c: Update.
2005-02-20 Andrew Cagney <cagney@gnu.org>
+ Use add_setshow_enum_cmd through out.
+ * arch-utils.c, charset.c, demangle.c, i386-tdep.c: Update.
+ * infrun.c, mips-tdep.c, osabi.c, serial.c, tui/tui-win.c: Update.
+
* mi/mi-main.c (captured_mi_execute_command): Use
mi_cmd_interpreter_exec.
/* Called by ``show endian''. */
static void
-show_endian (char *args, int from_tty)
+show_endian (struct ui_file *file, int from_tty, struct cmd_list_element *c,
+ const char *value)
{
if (target_byte_order_auto)
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- printf_unfiltered (_("The target endianness is set automatically "
- "(currently big endian)\n"));
+ fprintf_unfiltered (file, _("The target endianness is set automatically "
+ "(currently big endian)\n"));
else
- printf_unfiltered (_("The target endianness is set automatically "
+ fprintf_unfiltered (file, _("The target endianness is set automatically "
"(currently little endian)\n"));
else
if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
- printf_unfiltered (_("The target is assumed to be big endian\n"));
- else
- printf_unfiltered (_("The target is assumed to be little endian\n"));
+ fprintf_unfiltered (file,
+ _("The target is assumed to be big endian\n"));
+ else
+ fprintf_unfiltered (file,
+ _("The target is assumed to be little endian\n"));
}
static void
else
internal_error (__FILE__, __LINE__,
_("set_endian: bad value"));
- show_endian (NULL, from_tty);
+ show_endian (gdb_stdout, from_tty, NULL, NULL);
}
/* Functions to manipulate the architecture of the target */
argument. */
static void
-show_architecture (char *args, int from_tty)
+show_architecture (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
{
const char *arch;
arch = TARGET_ARCHITECTURE->printable_name;
if (target_architecture_auto)
- printf_filtered (_("The target architecture is set automatically (currently %s)\n"), arch);
+ fprintf_filtered (file, _("\
+The target architecture is set automatically (currently %s)\n"), arch);
else
- printf_filtered (_("The target architecture is assumed to be %s\n"), arch);
+ fprintf_filtered (file, _("\
+The target architecture is assumed to be %s\n"), arch);
}
printf_unfiltered (_("Architecture `%s' not recognized.\n"),
set_architecture_string);
}
- show_architecture (NULL, from_tty);
+ show_architecture (gdb_stdout, from_tty, NULL, NULL);
}
/* Try to select a global architecture that matches "info". Return
arches = xrealloc (arches, sizeof (char*) * (nr + 2));
arches[nr + 0] = "auto";
arches[nr + 1] = NULL;
- /* FIXME: add_set_enum_cmd() uses an array of ``char *'' instead
- of ``const char *''. We just happen to know that the casts are
- safe. */
- c = add_set_enum_cmd ("architecture", class_support,
- arches, &set_architecture_string,
- _("Set architecture of target."),
- &setlist);
- set_cmd_sfunc (c, set_architecture);
+ add_setshow_enum_cmd ("architecture", class_support,
+ arches, &set_architecture_string, _("\
+Set architecture of target."), _("\
+Show architecture of target."), NULL,
+ set_architecture, show_architecture,
+ &setlist, &showlist);
add_alias_cmd ("processor", "architecture", class_support, 1, &setlist);
- /* Don't use set_from_show - need to print both auto/manual and
- current setting. */
- /* FIXME: i18n: add_setshow_enum_cmd uses a print function so
- fancy printing is possible. */
- add_cmd ("architecture", class_support, show_architecture,
- _("Show the current target architecture"), &showlist);
}
}
_initialize_gdbarch_utils (void)
{
struct cmd_list_element *c;
- c = add_set_enum_cmd ("endian", class_support,
- endian_enum, &set_endian_string,
- _("Set endianness of target."),
- &setlist);
- set_cmd_sfunc (c, set_endian);
- /* Don't use set_from_show - need to print both auto/manual and
- current setting. */
- /* FIXME: i18n: add_setshow_enum_cmd uses a print function so
- fancy printing is possible. */
- add_cmd ("endian", class_support, show_endian,
- _("Show the current byte-order"), &showlist);
+ add_setshow_enum_cmd ("endian", class_support,
+ endian_enum, &set_endian_string, _("\
+Set endianness of target."), _("\
+Show endianness of target."), NULL,
+ set_endian, show_endian,
+ &setlist, &showlist);
}
/* sfunc for the 'show charset' command. */
static void
-show_charset (char *arg, int from_tty)
+show_charset (struct ui_file *file, int from_tty, struct cmd_list_element *c,
+ const char *name)
{
if (current_host_charset == current_target_charset)
- {
- printf_filtered (_("The current host and target character set is `%s'.\n"),
- host_charset ());
- }
+ fprintf_filtered (file,
+ _("The current host and target character set is `%s'.\n"),
+ host_charset ());
else
{
- printf_filtered (_("The current host character set is `%s'.\n"),
- host_charset ());
- printf_filtered (_("The current target character set is `%s'.\n"),
- target_charset ());
+ fprintf_filtered (file, _("The current host character set is `%s'.\n"),
+ host_charset ());
+ fprintf_filtered (file, _("The current target character set is `%s'.\n"),
+ target_charset ());
}
}
set_host_charset (host_charset_name);
set_target_charset (target_charset_name);
- new_cmd = add_set_enum_cmd ("charset",
- class_support,
- host_charset_enum,
- &host_charset_name,
- _("Set the host and target character sets.\n\
+ add_setshow_enum_cmd ("charset", class_support,
+ host_charset_enum, &host_charset_name, _("\
+Set the host and target character sets."), _("\
+Show the host and target character sets."), _("\
The `host character set' is the one used by the system GDB is running on.\n\
The `target character set' is the one used by the program being debugged.\n\
You may only use supersets of ASCII for your host character set; GDB does\n\
not support any others.\n\
To see a list of the character sets GDB supports, type `set charset <TAB>'."),
- &setlist);
-
- /* Note that the sfunc below needs to set target_charset_name, because
- the 'set charset' command sets two variables. */
- set_cmd_sfunc (new_cmd, set_charset_sfunc);
- /* Don't use set_from_show - need to print some extra info. */
- add_cmd ("charset", class_support, show_charset,
- _("Show the host and target character sets.\n\
-The `host character set' is the one used by the system GDB is running on.\n\
-The `target character set' is the one used by the program being debugged.\n\
-You may only use supersets of ASCII for your host character set; GDB does\n\
-not support any others.\n\
-To see a list of the character sets GDB supports, type `set charset <TAB>'."),
- &showlist);
-
-
- new_cmd = add_set_enum_cmd ("host-charset",
- class_support,
- host_charset_enum,
- &host_charset_name,
- _("Set the host character set.\n\
+ /* Note that the sfunc below needs to set
+ target_charset_name, because the 'set
+ charset' command sets two variables. */
+ set_charset_sfunc,
+ show_charset,
+ &setlist, &showlist);
+
+ add_setshow_enum_cmd ("host-charset", class_support,
+ host_charset_enum, &host_charset_name, _("\
+Set the host character set."), _("\
+Show the host character set."), _("\
The `host character set' is the one used by the system GDB is running on.\n\
You may only use supersets of ASCII for your host character set; GDB does\n\
not support any others.\n\
To see a list of the character sets GDB supports, type `set host-charset <TAB>'."),
- &setlist);
-
- set_cmd_sfunc (new_cmd, set_host_charset_sfunc);
-
- deprecated_add_show_from_set (new_cmd, &showlist);
-
-
-
- new_cmd = add_set_enum_cmd ("target-charset",
- class_support,
- target_charset_enum,
- &target_charset_name,
- _("Set the target character set.\n\
+ set_host_charset_sfunc,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
+
+ add_setshow_enum_cmd ("target-charset", class_support,
+ target_charset_enum, &target_charset_name, _("\
+Set the target character set."), _("\
+Show the target character set."), _("\
The `target character set' is the one used by the program being debugged.\n\
GDB translates characters and strings between the host and target\n\
character sets as needed.\n\
To see a list of the character sets GDB supports, type `set target-charset'<TAB>"),
- &setlist);
-
- set_cmd_sfunc (new_cmd, set_target_charset_sfunc);
- deprecated_add_show_from_set (new_cmd, &showlist);
+ set_target_charset_sfunc,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
}
demangling_style_names[i] =
xstrdup (libiberty_demanglers[i].demangling_style_name);
- set = add_set_enum_cmd ("demangle-style", class_support,
- demangling_style_names,
- (const char **) ¤t_demangling_style_string,
- "Set the current C++ demangling style.\n\
-Use `set demangle-style' without arguments for a list of demangling styles.",
- &setlist);
- show = deprecated_add_show_from_set (set, &showlist);
- set_cmd_sfunc (set, set_demangling_command);
+ /* FIXME: cagney/2005-02-20: The code implementing this variable are
+ malloc-ing and free-ing current_demangling_style_string when it
+ should instead just point to an element of
+ demangling_style_names. */
+ add_setshow_enum_cmd ("demangle-style", class_support,
+ demangling_style_names,
+ (const char **) ¤t_demangling_style_string, _("\
+Set the current C++ demangling style."), _("\
+Show the current C++ demangling style."), _("\
+Use `set demangle-style' without arguments for a list of demangling styles."),
+ set_demangling_command,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
/* Set the default demangling style chosen at compilation time. */
set_demangling_style (DEFAULT_DEMANGLING_STYLE);
register_gdbarch_init (bfd_arch_i386, i386_gdbarch_init);
/* Add the variable that controls the disassembly flavor. */
- {
- struct cmd_list_element *new_cmd;
-
- new_cmd = add_set_enum_cmd ("disassembly-flavor", no_class,
- valid_flavors,
- &disassembly_flavor,
- "\
-Set the disassembly flavor, the valid values are \"att\" and \"intel\", \
-and the default value is \"att\".",
- &setlist);
- deprecated_add_show_from_set (new_cmd, &showlist);
- }
+ add_setshow_enum_cmd ("disassembly-flavor", no_class, valid_flavors,
+ &disassembly_flavor, _("\
+Set the disassembly flavor."), _("\
+Show the disassembly flavor."), _("\
+The valid values are \"att\" and \"intel\", and the default value is \"att\"."),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
/* Add the variable that controls the convention for returning
structs. */
- {
- struct cmd_list_element *new_cmd;
-
- new_cmd = add_set_enum_cmd ("struct-convention", no_class,
- valid_conventions,
- &struct_convention, "\
-Set the convention for returning small structs, valid values \
-are \"default\", \"pcc\" and \"reg\", and the default value is \"default\".",
- &setlist);
- deprecated_add_show_from_set (new_cmd, &showlist);
- }
+ add_setshow_enum_cmd ("struct-convention", no_class, valid_conventions,
+ &struct_convention, _("\
+Set the convention for returning small structs."), _("\
+Show the convention for returning small structs."), _("\
+Valid values are \"default\", \"pcc\" and \"reg\", and the default value\n\
+is \"default\"."),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
i386_coff_osabi_sniffer);
&setlist, &showlist);
#endif
- c = add_set_enum_cmd ("follow-fork-mode",
- class_run,
- follow_fork_mode_kind_names, &follow_fork_mode_string,
- "Set debugger response to a program call of fork \
-or vfork.\n\
+ add_setshow_enum_cmd ("follow-fork-mode", class_run,
+ follow_fork_mode_kind_names,
+ &follow_fork_mode_string, _("\
+Set debugger response to a program call of fork or vfork."), _("\
+Show debugger response to a program call of fork or vfork."), _("\
A fork or vfork creates a new process. follow-fork-mode can be:\n\
parent - the original process is debugged after a fork\n\
child - the new process is debugged after a fork\n\
The unfollowed process will continue to run.\n\
-By default, the debugger will follow the parent process.", &setlist);
- deprecated_add_show_from_set (c, &showlist);
-
- c = add_set_enum_cmd ("scheduler-locking", class_run,
- scheduler_enums, /* array of string names */
- &scheduler_mode, /* current mode */
- "Set mode for locking scheduler during execution.\n\
+By default, the debugger will follow the parent process."),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
+
+ add_setshow_enum_cmd ("scheduler-locking", class_run,
+ scheduler_enums, &scheduler_mode, _("\
+Set mode for locking scheduler during execution."), _("\
+Show mode for locking scheduler during execution."), _("\
off == no locking (threads may preempt at any time)\n\
on == full locking (no thread except the current thread may run)\n\
step == scheduler locked during every single-step operation.\n\
In this mode, no other thread may run during a step command.\n\
- Other threads may run while stepping over a function call ('next').",
- &setlist);
-
- set_cmd_sfunc (c, set_schedlock_func); /* traps on target vector */
- deprecated_add_show_from_set (c, &showlist);
+ Other threads may run while stepping over a function call ('next')."),
+ set_schedlock_func, /* traps on target vector */
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
add_setshow_boolean_cmd ("step-mode", class_run, &step_stop_if_no_debug, _("\
Set mode of the step operation."), _("\
&setmipscmdlist, &showmipscmdlist);
/* Allow the user to override the ABI. */
- c = add_set_enum_cmd
- ("abi", class_obscure, mips_abi_strings, &mips_abi_string,
- "Set the ABI used by this program.\n"
- "This option can be set to one of:\n"
- " auto - the default ABI associated with the current binary\n"
- " o32\n"
- " o64\n" " n32\n" " n64\n" " eabi32\n" " eabi64", &setmipscmdlist);
- set_cmd_sfunc (c, mips_abi_update);
- add_cmd ("abi", class_obscure, show_mips_abi,
- _("Show ABI in use by MIPS target"), &showmipscmdlist);
+ add_setshow_enum_cmd ("abi", class_obscure, mips_abi_strings,
+ &mips_abi_string, _("\
+Set the MIPS ABI used by this program."), _("\
+Show the MIPS ABI used by this program."), _("\
+This option can be set to one of:\n\
+ auto - the default ABI associated with the current binary\n\
+ o32\n\
+ o64\n\
+ n32\n\
+ n64\n\
+ eabi32\n\
+ eabi64"),
+ mips_abi_update,
+ show_mips_abi,
+ &setmipscmdlist, &showmipscmdlist);
/* Let the user turn off floating point and set the fence post for
heuristic_proc_start. */
}
static void
-show_osabi (char *args, int from_tty)
+show_osabi (struct ui_file *file, int from_tty, struct cmd_list_element *c,
+ const char *value)
{
if (user_osabi_state == osabi_auto)
- printf_filtered (_("The current OS ABI is \"auto\" (currently \"%s\").\n"),
- gdbarch_osabi_name (gdbarch_osabi (current_gdbarch)));
+ fprintf_filtered (file,
+ _("The current OS ABI is \"auto\" (currently \"%s\").\n"),
+ gdbarch_osabi_name (gdbarch_osabi (current_gdbarch)));
else
- printf_filtered (_("The current OS ABI is \"%s\".\n"),
- gdbarch_osabi_name (user_selected_osabi));
+ fprintf_filtered (file, _("The current OS ABI is \"%s\".\n"),
+ gdbarch_osabi_name (user_selected_osabi));
if (GDB_OSABI_DEFAULT != GDB_OSABI_UNKNOWN)
- printf_filtered (_("The default OS ABI is \"%s\".\n"),
- gdbarch_osabi_name (GDB_OSABI_DEFAULT));
+ fprintf_filtered (file, _("The default OS ABI is \"%s\".\n"),
+ gdbarch_osabi_name (GDB_OSABI_DEFAULT));
}
\f
extern initialize_file_ftype _initialize_gdb_osabi; /* -Wmissing-prototype */
generic_elf_osabi_sniffer);
/* Register the "set osabi" command. */
- c = add_set_enum_cmd ("osabi", class_support, gdb_osabi_available_names,
- &set_osabi_string, "Set OS ABI of target.", &setlist);
-
- set_cmd_sfunc (c, set_osabi);
- add_cmd ("osabi", class_support, show_osabi, _("Show OS/ABI of target."),
- &showlist);
+ add_setshow_enum_cmd ("osabi", class_support, gdb_osabi_available_names,
+ &set_osabi_string, _("\
+Set OS ABI of target."), _("\
+Show OS ABI of target."), NULL,
+ set_osabi,
+ show_osabi,
+ &setlist, &showlist);
user_osabi_state = osabi_auto;
}
NULL, /* FIXME: i18n: */
&setlist, &showlist);
- deprecated_add_show_from_set
- (add_set_enum_cmd ("remotelogbase", no_class,
- logbase_enums, &serial_logbase,
- "Set numerical base for remote session logging",
- &setlist),
- &showlist);
+ add_setshow_enum_cmd ("remotelogbase", no_class, logbase_enums,
+ &serial_logbase, _("\
+Set numerical base for remote session logging"), _("\
+Show numerical base for remote session logging"), NULL,
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &setlist, &showlist);
add_setshow_zinteger_cmd ("serial", class_maintenance,
&global_serial_debug_p, _("\
Usage: w <#lines>\n"));
/* Define the tui control variables. */
- c = add_set_enum_cmd
- ("border-kind", no_class,
- tui_border_kind_enums, &tui_border_kind,
- "Set the kind of border for TUI windows.\n"
- "This variable controls the border of TUI windows:\n"
- "space use a white space\n"
- "ascii use ascii characters + - | for the border\n"
- "acs use the Alternate Character Set\n",
- &tui_setlist);
- deprecated_add_show_from_set (c, &tui_showlist);
-
- c = add_set_enum_cmd
- ("border-mode", no_class,
- tui_border_mode_enums, &tui_border_mode,
- "Set the attribute mode to use for the TUI window borders.\n"
- "This variable controls the attributes to use for the window borders:\n"
- "normal normal display\n"
- "standout use highlight mode of terminal\n"
- "reverse use reverse video mode\n"
- "half use half bright\n"
- "half-standout use half bright and standout mode\n"
- "bold use extra bright or bold\n"
- "bold-standout use extra bright or bold with standout mode\n",
- &tui_setlist);
- deprecated_add_show_from_set (c, &tui_showlist);
-
- c = add_set_enum_cmd
- ("active-border-mode", no_class,
- tui_border_mode_enums, &tui_active_border_mode,
- "Set the attribute mode to use for the active TUI window border.\n"
- "This variable controls the attributes to use for the active window border:\n"
- "normal normal display\n"
- "standout use highlight mode of terminal\n"
- "reverse use reverse video mode\n"
- "half use half bright\n"
- "half-standout use half bright and standout mode\n"
- "bold use extra bright or bold\n"
- "bold-standout use extra bright or bold with standout mode\n",
- &tui_setlist);
- deprecated_add_show_from_set (c, &tui_showlist);
+ add_setshow_enum_cmd ("border-kind", no_class, tui_border_kind_enums,
+ &tui_border_kind, _("\
+Set the kind of border for TUI windows."), _("\
+Show the kind of border for TUI windows."), _("\
+This variable controls the border of TUI windows:\n\
+space use a white space\n\
+ascii use ascii characters + - | for the border\n\
+acs use the Alternate Character Set"),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &tui_setlist, &tui_showlist);
+
+ add_setshow_enum_cmd ("border-mode", no_class, tui_border_mode_enums,
+ &tui_border_mode, _("\
+Set the attribute mode to use for the TUI window borders."), _("\
+Show the attribute mode to use for the TUI window borders."), _("\
+This variable controls the attributes to use for the window borders:\n\
+normal normal display\n\
+standout use highlight mode of terminal\n\
+reverse use reverse video mode\n\
+half use half bright\n\
+half-standout use half bright and standout mode\n\
+bold use extra bright or bold\n\
+bold-standout use extra bright or bold with standout mode"),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &tui_setlist, &tui_showlist);
+
+ add_setshow_enum_cmd ("active-border-mode", no_class, tui_border_mode_enums,
+ &tui_active_border_mode, _("\
+Set the attribute mode to use for the active TUI window border."), _("\
+Show the attribute mode to use for the active TUI window border."), _("\
+This variable controls the attributes to use for the active window border:\n\
+normal normal display\n\
+standout use highlight mode of terminal\n\
+reverse use reverse video mode\n\
+half use half bright\n\
+half-standout use half bright and standout mode\n\
+bold use extra bright or bold\n\
+bold-standout use extra bright or bold with standout mode"),
+ NULL,
+ NULL, /* FIXME: i18n: */
+ &tui_setlist, &tui_showlist);
}
/* Update gdb's knowledge of the terminal size. */