PR gdb/1815:
	* cli/cli-decode.c (delete_cmd): Forward declare.
	(delete_cmd): Now static.  Change return type.  Remove command
	from alias chain.  Rewrite.
	(add_cmd): Initialize new fields.  Update cmd_pointer on all
	aliases.
	(add_alias_cmd): Put command on alias chain.
	* command.h (delete_cmd): Don't declare.
	* cli/cli-decode.h (delete_cmd): Don't declare.
	(struct cmd_list_element) <aliases, alias_chain>: New fields.
gdb/testsuite
	* gdb.base/commands.exp (redefine_backtrace_test): New proc.
	Call it.
This commit is contained in:
Tom Tromey 2008-12-10 01:05:16 +00:00
parent 667f3338da
commit b05dcbb7f9
6 changed files with 114 additions and 36 deletions

View file

@ -197,6 +197,12 @@ struct cmd_list_element
/* Pointer to command that is aliased by this one, so the
aliased command can be located in case it has been hooked. */
struct cmd_list_element *cmd_pointer;
/* Start of a linked list of all aliases of this command. */
struct cmd_list_element *aliases;
/* Link pointer for aliases on an alias list. */
struct cmd_list_element *alias_chain;
};
/* API to the manipulation of command lists. */
@ -290,8 +296,6 @@ extern char **complete_on_cmdlist (struct cmd_list_element *, char *, char *);
extern char **complete_on_enum (const char *enumlist[], char *, char *);
extern void delete_cmd (char *, struct cmd_list_element **);
extern void help_cmd_list (struct cmd_list_element *, enum command_class,
char *, int, struct ui_file *);