aboutsummaryrefslogtreecommitdiff
path: root/gdb/interps.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2022-08-16 09:31:33 -0600
committerTom Tromey <tromey@adacore.com>2024-05-17 09:39:41 -0600
commit5c51acfcce1e1ed997e3c2504c2a93a9ad16015e (patch)
tree9f8548423080e7b6a5662357682716fa14919314 /gdb/interps.h
parent650a81d87bc438c67b077fcf4e529e3e9c772d5d (diff)
downloadgdb-5c51acfcce1e1ed997e3c2504c2a93a9ad16015e.zip
gdb-5c51acfcce1e1ed997e3c2504c2a93a9ad16015e.tar.gz
gdb-5c51acfcce1e1ed997e3c2504c2a93a9ad16015e.tar.bz2
Don't allow new-ui to start the TUI
The TUI can't really work properly with new-ui, at least not as currently written. This patch changes new-ui to reject an attempt. Attempting to make a DAP ui this way is also now rejected. Regression tested on x86-64 Fedora 38. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29273 Approved-By: Andrew Burgess <aburgess@redhat.com>
Diffstat (limited to 'gdb/interps.h')
-rw-r--r--gdb/interps.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/interps.h b/gdb/interps.h
index bd435d7..8d80c00 100644
--- a/gdb/interps.h
+++ b/gdb/interps.h
@@ -84,6 +84,10 @@ public:
virtual bool supports_command_editing ()
{ return false; }
+ /* Returns true if this interpreter supports new UIs. */
+ virtual bool supports_new_ui () const
+ { return true; }
+
const char *name () const
{ return m_name; }
@@ -201,8 +205,10 @@ extern struct interp *interp_lookup (struct ui *ui, const char *name);
/* Set the current 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 (const char *name);
+ interpreter fails to initialize. FOR_NEW_UI is true when called
+ from the 'new-ui' command, and causes an extra check to ensure the
+ interpreter is valid for a new UI. */
+extern void set_top_level_interpreter (const char *name, bool for_new_ui);
/* Temporarily set the current interpreter, and reset it on
destruction. */