diff options
Diffstat (limited to 'gdb/tui')
-rw-r--r-- | gdb/tui/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/tui/tui-interp.c | 15 |
2 files changed, 21 insertions, 1 deletions
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog index aa2fc5a..6b4e01f 100644 --- a/gdb/tui/ChangeLog +++ b/gdb/tui/ChangeLog @@ -1,3 +1,10 @@ +2003-07-23 Stephane Carrez <stcarrez@nerim.fr> + + * 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. + 2003-06-28 Daniel Jacobowitz <drow@mvista.com> * tui-out.c (tui_ui_out_impl): Add NULL for redirect member. diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c index f935ea4..0c1effb 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"); + } } |