From patchwork Thu Jul 11 16:29:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 33679 Received: (qmail 1397 invoked by alias); 11 Jul 2019 16:29:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 1389 invoked by uid 89); 11 Jul 2019 16:29:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=HOME, 2196, banner X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Jul 2019 16:29:36 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 5549956058; Thu, 11 Jul 2019 12:29:35 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id rECIA-wEG7ge; Thu, 11 Jul 2019 12:29:35 -0400 (EDT) Received: from murgatroyd.Home (97-122-178-82.hlrn.qwest.net [97.122.178.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPSA id 00B2C1163A8; Thu, 11 Jul 2019 12:29:34 -0400 (EDT) From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH v2] Remove init_cli_cmds Date: Thu, 11 Jul 2019 10:29:32 -0600 Message-Id: <20190711162932.7554-1-tromey@adacore.com> MIME-Version: 1.0 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 * 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(-) diff --git a/gdb/auto-load.c b/gdb/auto-load.c index 7e417994e8f..616aeb6fc96 100644 --- a/gdb/auto-load.c +++ b/gdb/auto-load.c @@ -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\ diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index e689c0ff64e..0b62622e888 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -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); diff --git a/gdb/cli/cli-cmds.h b/gdb/cli/cli-cmds.h index ac0591e2e89..5bfffde04a1 100644 --- a/gdb/cli/cli-cmds.h +++ b/gdb/cli/cli-cmds.h @@ -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 */ diff --git a/gdb/main.c b/gdb/main.c index 540738e543d..678c413021c 100644 --- a/gdb/main.c +++ b/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; diff --git a/gdb/top.c b/gdb/top.c index 68cf405f6e0..83a3604688b 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -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 (); diff --git a/gdb/top.h b/gdb/top.h index e7659b65ffe..32a898b82f5 100644 --- a/gdb/top.h +++ b/gdb/top.h @@ -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")