summaryrefslogtreecommitdiff
path: root/gdb/tui/tui-interp.c
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2003-07-23 21:22:14 +0000
committerStephane Carrez <stcarrez@nerim.fr>2003-07-23 21:22:14 +0000
commit63858210357ce3f90a264895e9780ab302576a94 (patch)
tree501fc8be689a5fe5a527204064afbf130dbf3127 /gdb/tui/tui-interp.c
parent9e1d0fc1a1f904291ab6b1445a21530b3d2edbec (diff)
downloadbinutils-gdb-63858210357ce3f90a264895e9780ab302576a94.tar.gz
* tui-interp.c (tui_resume): Enable tui when we expected it.
(tui_suspend): Remember in which TUI mode we are. (_initialize_tui_interp): Use the tui interpreter even when no other interpreter was set and define in which TUI mode to start.
Diffstat (limited to 'gdb/tui/tui-interp.c')
-rw-r--r--gdb/tui/tui-interp.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c
index f935ea4094c..0c1effb31f6 100644
--- a/gdb/tui/tui-interp.c
+++ b/gdb/tui/tui-interp.c
@@ -31,6 +31,9 @@
#include "tui/tui.h"
#include "tui/tuiIO.h"
+/* Set to 1 when the TUI mode must be activated when we first start gdb. */
+static int tui_start_enabled = 0;
+
/* Cleanup the tui before exiting. */
static void
@@ -61,13 +64,15 @@ static int
tui_resume (void *data)
{
gdb_setup_readline ();
- tui_enable ();
+ if (tui_start_enabled)
+ tui_enable ();
return 1;
}
static int
tui_suspend (void *data)
{
+ tui_start_enabled = tui_active;
tui_disable ();
return 1;
}
@@ -177,4 +182,12 @@ _initialize_tui_interp (void)
/* Create a default uiout builder for the TUI. */
tui_out = tui_out_new (gdb_stdout);
interp_add (interp_new ("tui", NULL, tui_out, &procs));
+ if (interpreter_p && strcmp (interpreter_p, "tui") == 0)
+ tui_start_enabled = 1;
+
+ if (interpreter_p && strcmp (interpreter_p, INTERP_CONSOLE) == 0)
+ {
+ xfree (interpreter_p);
+ interpreter_p = xstrdup ("tui");
+ }
}