From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 0F242385770D for ; Fri, 8 Sep 2023 19:06:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F242385770D Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 7C40F1E0D2; Fri, 8 Sep 2023 15:06:32 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 20/21] gdb: make set_top_level_interpreter a method of struct ui Date: Fri, 8 Sep 2023 14:23:14 -0400 Message-ID: <20230908190227.96319-21-simon.marchi@efficios.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20230908190227.96319-1-simon.marchi@efficios.com> References: <20230908190227.96319-1-simon.marchi@efficios.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3497.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_NONE,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_SOFTFAIL,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: No behavior changes expected. Change-Id: Ie3ab2a2f2191a9df769c51ea81d564724789c6f6 --- gdb/interps.c | 14 -------------- gdb/interps.h | 6 ------ gdb/main.c | 2 +- gdb/ui.c | 17 ++++++++++++++++- gdb/ui.h | 6 ++++++ 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/gdb/interps.c b/gdb/interps.c index f954d503538c..f30357405877 100644 --- a/gdb/interps.c +++ b/gdb/interps.c @@ -80,20 +80,6 @@ find_interp_factory (const char *name) return nullptr; } -/* See interps.h. */ - -void -set_top_level_interpreter (ui *ui, const char *name) -{ - /* Find it. */ - struct interp *interp = ui->lookup_interp (name); - - if (interp == NULL) - error (_("Interpreter `%s' unrecognized"), name); - /* Install it. */ - ui->set_current_interpreter (interp, true); -} - void current_interp_set_logging (ui_file_up logfile, bool logging_redirect, bool debug_redirect) diff --git a/gdb/interps.h b/gdb/interps.h index 4c094bf33e32..8416d657fb9a 100644 --- a/gdb/interps.h +++ b/gdb/interps.h @@ -215,12 +215,6 @@ class interp : public intrusive_list_node bool inited = false; }; -/* Set UI's top level interpreter to the interpreter named NAME. - - Throws an error if NAME is not a known interpreter or the interpreter fails - to initialize. */ -extern void set_top_level_interpreter (ui *ui, const char *name); - /* Temporarily set the current interpreter, and reset it on destruction. */ class scoped_restore_interp diff --git a/gdb/main.c b/gdb/main.c index cf46f6acb208..58a79c518999 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -1136,7 +1136,7 @@ captured_main_1 (struct captured_main_args *context) /* Install the default UI. All the interpreters should have had a look at things by now. Initialize the default interpreter. */ - set_top_level_interpreter (interpreter_p.c_str ()); + current_ui->set_top_level_interpreter (interpreter_p.c_str ()); if (!quiet) { diff --git a/gdb/ui.c b/gdb/ui.c index 2db899eb9c31..ec74cc91cd21 100644 --- a/gdb/ui.c +++ b/gdb/ui.c @@ -223,6 +223,21 @@ ui::set_current_interpreter (interp *interp, bool top_level) /* See ui.h. */ +void +ui::set_top_level_interpreter (const char *name) +{ + /* Find it. */ + struct interp *interp = this->lookup_interp (name); + + if (interp == NULL) + error (_("Interpreter `%s' unrecognized"), name); + + /* Install it. */ + this->set_current_interpreter (interp, true); +} + +/* See ui.h. */ + void ui::unregister_file_handler () { @@ -278,7 +293,7 @@ new_ui_command (const char *args, int from_tty) current_ui = ui.get (); - set_top_level_interpreter (interpreter_name); + current_ui->set_top_level_interpreter (interpreter_name); top_level_interpreter ()->pre_command_loop (); diff --git a/gdb/ui.h b/gdb/ui.h index 4f6a32991d6d..cebf112f971c 100644 --- a/gdb/ui.h +++ b/gdb/ui.h @@ -179,6 +179,12 @@ struct ui : public intrusive_list_node events such as target stops and new thread creation, even if they are caused by CLI commands. */ void set_current_interpreter (interp *interp, bool top_level); + + /* Set this UI's top level interpreter to the interpreter named NAME. + + Throws an error if NAME is not a known interpreter or the interpreter fails + to initialize. */ + void set_top_level_interpreter (const char *name); }; /* The main UI. This is the UI that is bound to stdin/stdout/stderr. -- 2.42.0