Add alias command to cmd_list_element
authorYao Qi <yao.qi@linaro.org>
Wed, 17 May 2017 13:22:04 +0000 (14:22 +0100)
committerYao Qi <yao.qi@linaro.org>
Wed, 17 May 2017 13:22:35 +0000 (14:22 +0100)
commit21873064e835ffb16e92048482e34f19e6a415da
tree55a7255c003a78c18b43e618c6b9c7a5f0120c8b
parent2b351b19efc8dd36ac8a8bda005c7411536b93ec
Add alias command to cmd_list_element

When we add alias command, we call add_alias_cmd and pass the alias name
and command name.  This implicitly requires the command and its prefix
commands are already added to cmdlist.  This may not be true, for example,

  add_com_alias ("tty", "set inferior-tty", class_alias, 0);

"inferior-tty" command is added to setlist, but setlist may not be added
to cmdlist (It depends on the order of related _initialize_XXX functions
called) so that we can't find "set inferior-tty" from cmdlist.

This patch fixes this problem by passing cmd_list_element of "inferior-tty"
to add_alias_cmd, so that cmd_list_element of "inferior-tty" doesn't have
to be reachable from cmdlist at that moment.

gdb:

2017-05-17  Yao Qi  <yao.qi@linaro.org>

* cli/cli-decode.c (add_alias_cmd): New function.
* command.h (add_alias_cmd): Declare.
* infcmd.c (_initialize_infcmd): Don't call add_com_alias,
instead call add_alias_cmd.

gdb/testsuite:

2017-05-17  Simon Marchi  <simon.marchi@ericsson.com>

* gdb.base/set-inferior-tty.exp (test_set_inferior_tty): Add
argument command.
(top-level): Invoke test_set_inferior_tty.
gdb/ChangeLog
gdb/cli/cli-decode.c
gdb/command.h
gdb/infcmd.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/set-inferior-tty.exp