diff options
author | Andrew Burgess <aburgess@redhat.com> | 2023-04-04 09:34:54 +0100 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2023-04-28 22:50:46 +0100 |
commit | 33c054b015b99e92dcfba1b997a25b7ae8e01e0b (patch) | |
tree | 19bda6a4e52d228aac161679e3805f298dfdea71 /gdb/infcmd.c | |
parent | 2a740b3ba4c9f39c86dd75e0914ee00942cab471 (diff) | |
download | gdb-33c054b015b99e92dcfba1b997a25b7ae8e01e0b.zip gdb-33c054b015b99e92dcfba1b997a25b7ae8e01e0b.tar.gz gdb-33c054b015b99e92dcfba1b997a25b7ae8e01e0b.tar.bz2 |
gdb: cleanup command creation in infcmd.c
In infcmd.c, in order to add command completion to some of the 'set'
commands, we are currently creating the command, then looking up the
command by calling lookup_cmd.
This is no longer necessary, we already return the relevant
cmd_list_element object when the set/show command is created, and we
can use that to set the command completion callback.
I don't know if there's actually any tests for completion of these
commands, but I manually checked, and each command still appears to
offer the expected filename completion.
There should be no user visible changes after this commit.
Reviewed-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r-- | gdb/infcmd.c | 69 |
1 files changed, 31 insertions, 38 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 1038994..86555df 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -3138,55 +3138,48 @@ _initialize_infcmd () { static struct cmd_list_element *info_proc_cmdlist; struct cmd_list_element *c = nullptr; - const char *cmd_name; /* Add the filename of the terminal connected to inferior I/O. */ - add_setshow_optional_filename_cmd ("inferior-tty", class_run, - &inferior_io_terminal_scratch, _("\ -Set terminal for future runs of program being debugged."), _("\ -Show terminal for future runs of program being debugged."), _("\ -Usage: set inferior-tty [TTY]\n\n\ -If TTY is omitted, the default behavior of using the same terminal as GDB\n\ + auto tty_set_show + = add_setshow_optional_filename_cmd ("inferior-tty", class_run, + &inferior_io_terminal_scratch, _("\ +Set terminal for future runs of program being debugged."), _(" \ +Show terminal for future runs of program being debugged."), _(" \ +Usage: set inferior-tty [TTY]\n\n \ +If TTY is omitted, the default behavior of using the same terminal as GDB\n \ is restored."), - set_inferior_tty_command, - show_inferior_tty_command, - &setlist, &showlist); - cmd_name = "inferior-tty"; - c = lookup_cmd (&cmd_name, setlist, "", nullptr, -1, 1); - gdb_assert (c != nullptr); - add_alias_cmd ("tty", c, class_run, 0, &cmdlist); - - cmd_name = "args"; - add_setshow_string_noescape_cmd (cmd_name, class_run, - &inferior_args_scratch, _("\ + set_inferior_tty_command, + show_inferior_tty_command, + &setlist, &showlist); + add_alias_cmd ("tty", tty_set_show.set, class_run, 0, &cmdlist); + + auto args_set_show + = add_setshow_string_noescape_cmd ("args", class_run, + &inferior_args_scratch, _("\ Set argument list to give program being debugged when it is started."), _("\ Show argument list to give program being debugged when it is started."), _("\ Follow this command with any number of args, to be passed to the program."), - set_args_command, - show_args_command, - &setlist, &showlist); - c = lookup_cmd (&cmd_name, setlist, "", nullptr, -1, 1); - gdb_assert (c != nullptr); - set_cmd_completer (c, filename_completer); - - cmd_name = "cwd"; - add_setshow_string_noescape_cmd (cmd_name, class_run, - &inferior_cwd_scratch, _("\ -Set the current working directory to be used when the inferior is started.\n\ -Changing this setting does not have any effect on inferiors that are\n\ + set_args_command, + show_args_command, + &setlist, &showlist); + set_cmd_completer (args_set_show.set, filename_completer); + + auto cwd_set_show + = add_setshow_string_noescape_cmd ("cwd", class_run, + &inferior_cwd_scratch, _("\ +Set the current working directory to be used when the inferior is started.\n \ +Changing this setting does not have any effect on inferiors that are\n \ already running."), - _("\ + _("\ Show the current working directory that is used when the inferior is started."), - _("\ + _("\ Use this command to change the current working directory that will be used\n\ when the inferior is started. This setting does not affect GDB's current\n\ working directory."), - set_cwd_command, - show_cwd_command, - &setlist, &showlist); - c = lookup_cmd (&cmd_name, setlist, "", nullptr, -1, 1); - gdb_assert (c != nullptr); - set_cmd_completer (c, filename_completer); + set_cwd_command, + show_cwd_command, + &setlist, &showlist); + set_cmd_completer (cwd_set_show.set, filename_completer); c = add_cmd ("environment", no_class, environment_info, _("\ The environment to give the program, or one variable's value.\n\ |