[v2] Remove init_cli_cmds
Commit Message
I noticed that init_cli_cmds only installs a command, and so doesn't
need to be handled specially. This patch merges it into
_initialize_cli_cmds.
The help text is constructed dynamically, which is sometimes an
indication that special treatment is needed; but in this case it is
just to insert the value of "gdbinit", which is created at
compile-time and not modified; so this doesn't affect the result.
This version also removes the "gdbinit" global. There's no need for
it, as GDBINIT can be used instead. Note, though, that the help text
in question must still be dynamically constructed, in order to be
i18n-friendly.
gdb/ChangeLog
2019-07-11 Tom Tromey <tromey@adacore.com>
* main.c (get_init_files): Use GDBINIT, not gdbinit.
* auto-load.c (file_is_auto_load_safe): Use GDBINIT, not gdbinit.
* top.h (gdbinit): Don't declare.
* cli/cli-cmds.c (init_cli_cmds): Remove, merging contents
into...
(_initialize_cli_cmds): ...here. Use GDBINIT, not gdbinit.
* top.c (gdb_init): Don't call init_cli_cmds.
(gdbinit): Remove.
* cli/cli-cmds.h (init_cli_cmds): Don't declare.
---
gdb/ChangeLog | 12 ++++++++++++
gdb/auto-load.c | 2 +-
gdb/cli/cli-cmds.c | 11 ++---------
gdb/cli/cli-cmds.h | 2 --
gdb/main.c | 6 +++---
gdb/top.c | 5 -----
gdb/top.h | 1 -
7 files changed, 18 insertions(+), 21 deletions(-)
Comments
LGTM.
Thanks,
Pedro Alves
@@ -500,7 +500,7 @@ file_is_auto_load_safe (const char *filename, const char *debug_fmt, ...)
if (homedir == NULL)
homedir = "$HOME";
- std::string homeinit = string_printf ("%s/%s", homedir, gdbinit);
+ std::string homeinit = string_printf ("%s/%s", homedir, GDBINIT);
printf_filtered (_("\
To enable execution of this file add\n\
@@ -2215,15 +2215,8 @@ Make \"spe\" an alias of \"set print elements\":\n\
alias spe = set print elements\n\
Make \"elms\" an alias of \"elements\" in the \"set print\" command:\n\
alias -a set print elms = set print elements"));
-}
-
-void
-init_cli_cmds (void)
-{
- struct cmd_list_element *c;
- char *source_help_text;
- source_help_text = xstrprintf (_("\
+ const char *source_help_text = xstrprintf (_("\
Read commands from a file named FILE.\n\
\n\
Usage: source [-s] [-v] FILE\n\
@@ -2232,7 +2225,7 @@ Usage: source [-s] [-v] FILE\n\
-v: each command in FILE is echoed as it is executed.\n\
\n\
Note that the file \"%s\" is read automatically in this way\n\
-when GDB is started."), gdbinit);
+when GDB is started."), GDBINIT);
c = add_cmd ("source", class_support, source_command,
source_help_text, &cmdlist);
set_cmd_completer (c, filename_completer);
@@ -105,8 +105,6 @@ extern struct cmd_list_element *showchecklist;
void init_cmd_lists (void);
-void init_cli_cmds (void);
-
int is_complete_command (struct cmd_list_element *cmd);
/* Exported to gdb/main.c */
@@ -260,7 +260,7 @@ get_init_files (const char **system_gdbinit,
if (homedir)
{
- homeinit = xstrprintf ("%s/%s", homedir, gdbinit);
+ homeinit = xstrprintf ("%s/%s", homedir, GDBINIT);
if (stat (homeinit, &homebuf) != 0)
{
xfree (homeinit);
@@ -268,12 +268,12 @@ get_init_files (const char **system_gdbinit,
}
}
- if (stat (gdbinit, &cwdbuf) == 0)
+ if (stat (GDBINIT, &cwdbuf) == 0)
{
if (!homeinit
|| memcmp ((char *) &homebuf, (char *) &cwdbuf,
sizeof (struct stat)))
- localinit = gdbinit;
+ localinit = GDBINIT;
}
initialized = 1;
@@ -108,10 +108,6 @@ gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stderr)
gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stdlog)
gen_ret_current_ui_field_ptr (struct ui_out *, current_uiout)
-/* Initialization file name for gdb. This is host-dependent. */
-
-const char gdbinit[] = GDBINIT;
-
int inhibit_gdbinit = 0;
extern char lang_frame_mismatch_warn[]; /* language.c */
@@ -2265,7 +2261,6 @@ gdb_init (char *argv0)
initialize_progspace ();
initialize_inferiors ();
initialize_current_architecture ();
- init_cli_cmds();
init_main (); /* But that omits this file! Do it now. */
initialize_stdin_serial ();
@@ -219,7 +219,6 @@ extern void ui_unregister_input_event_handler (struct ui *ui);
/* From top.c. */
extern int confirm;
extern int inhibit_gdbinit;
-extern const char gdbinit[];
/* Print the GDB version banner to STREAM. If INTERACTIVE is false,
then information referring to commands (e.g., "show configuration")