binutils-gdb/gdb/cli/cli-cmds.h
Tom Tromey b777eb6de2 Remove init_cli_cmds
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.
2019-07-11 10:28:27 -06:00

159 lines
4.4 KiB
C++

/* Header file for GDB CLI command implementation library.
Copyright (C) 2000-2019 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef CLI_CLI_CMDS_H
#define CLI_CLI_CMDS_H
#include "gdbsupport/filestuff.h"
#include "gdbsupport/gdb_optional.h"
#include "completer.h"
/* Chain containing all defined commands. */
extern struct cmd_list_element *cmdlist;
/* Chain containing all defined info subcommands. */
extern struct cmd_list_element *infolist;
/* Chain containing all defined enable subcommands. */
extern struct cmd_list_element *enablelist;
/* Chain containing all defined disable subcommands. */
extern struct cmd_list_element *disablelist;
/* Chain containing all defined delete subcommands. */
extern struct cmd_list_element *deletelist;
/* Chain containing all defined detach subcommands. */
extern struct cmd_list_element *detachlist;
/* Chain containing all defined kill subcommands. */
extern struct cmd_list_element *killlist;
/* Chain containing all defined stop subcommands. */
extern struct cmd_list_element *stoplist;
/* Chain containing all defined set subcommands */
extern struct cmd_list_element *setlist;
/* Chain containing all defined unset subcommands */
extern struct cmd_list_element *unsetlist;
/* Chain containing all defined show subcommands. */
extern struct cmd_list_element *showlist;
/* Chain containing all defined \"set history\". */
extern struct cmd_list_element *sethistlist;
/* Chain containing all defined \"show history\". */
extern struct cmd_list_element *showhistlist;
/* Chain containing all defined \"unset history\". */
extern struct cmd_list_element *unsethistlist;
/* Chain containing all defined maintenance subcommands. */
extern struct cmd_list_element *maintenancelist;
/* Chain containing all defined "maintenance info" subcommands. */
extern struct cmd_list_element *maintenanceinfolist;
/* Chain containing all defined "maintenance print" subcommands. */
extern struct cmd_list_element *maintenanceprintlist;
extern struct cmd_list_element *setprintlist;
extern struct cmd_list_element *showprintlist;
extern struct cmd_list_element *setdebuglist;
extern struct cmd_list_element *showdebuglist;
extern struct cmd_list_element *setchecklist;
extern struct cmd_list_element *showchecklist;
/* Exported to gdb/top.c */
void init_cmd_lists (void);
int is_complete_command (struct cmd_list_element *cmd);
/* Exported to gdb/main.c */
extern void cd_command (const char *, int);
/* Exported to gdb/top.c and gdb/main.c */
extern void quit_command (const char *, int);
extern void source_script (const char *, int);
/* Exported to objfiles.c. */
/* The script that was opened. */
struct open_script
{
gdb_file_up stream;
gdb::unique_xmalloc_ptr<char> full_path;
open_script (gdb_file_up &&stream_,
gdb::unique_xmalloc_ptr<char> &&full_path_)
: stream (std::move (stream_)),
full_path (std::move (full_path_))
{
}
};
extern gdb::optional<open_script>
find_and_open_script (const char *file, int search_path);
/* Command tracing state. */
extern int source_verbose;
extern int trace_commands;
/* Common code for the "with" and "maintenance with" commands.
SET_CMD_PREFIX is the spelling of the corresponding "set" command
prefix: i.e., "set " or "maintenance set ". SETLIST is the command
element for the same "set" command prefix. */
extern void with_command_1 (const char *set_cmd_prefix,
cmd_list_element *setlist,
const char *args, int from_tty);
/* Common code for the completers of the "with" and "maintenance with"
commands. SET_CMD_PREFIX is the spelling of the corresponding
"set" command prefix: i.e., "set " or "maintenance set ". */
extern void with_command_completer_1 (const char *set_cmd_prefix,
completion_tracker &tracker,
const char *text);
#endif /* CLI_CLI_CMDS_H */