From: Stephane Carrez Date: Fri, 13 Sep 2002 20:06:56 +0000 (+0000) Subject: * tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e3da6fc58ac2eff07799864d80fce8aaf8e36b5d;p=binutils-gdb.git * tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs. (tui_initialize_readline): Allow to use space to leave SingleKey to enter one gdb command. (tui_enable): Restore the TUI keymap when we are back to TUI. (tui_disable): Restore normal keymap when leaving TUI. * tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode when the buffer becomes empty and we are in tui_one_command_mode. --- diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog index be718aeecfd..edff2bd9c07 100644 --- a/gdb/tui/ChangeLog +++ b/gdb/tui/ChangeLog @@ -1,3 +1,13 @@ +2002-09-13 Stephane Carrez + + * tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs. + (tui_initialize_readline): Allow to use space to leave SingleKey + to enter one gdb command. + (tui_enable): Restore the TUI keymap when we are back to TUI. + (tui_disable): Restore normal keymap when leaving TUI. + * tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode + when the buffer becomes empty and we are in tui_one_command_mode. + 2002-09-13 Stephane Carrez * tuiIO.c (tui_setup_io): rl_already_prompted must be cleared diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c index 8bf467da289..81edd8b85c7 100644 --- a/gdb/tui/tui.c +++ b/gdb/tui/tui.c @@ -106,14 +106,11 @@ tui_rl_switch_mode (void) { tui_disable (); rl_prep_terminal (0); - - printf_filtered ("Left the TUI mode\n"); } else { rl_deprep_terminal (); tui_enable (); - printf_filtered ("Entered the TUI mode\n"); } /* Clear the readline in case switching occurred in middle of something. */ @@ -312,7 +309,7 @@ tui_initialize_readline () /* Bind all other keys to tui_rl_command_mode so that we switch temporarily from SingleKey mode and can enter a gdb command. */ - for (i = ' ' + 1; i < 0x7f; i++) + for (i = ' '; i < 0x7f; i++) { int j; @@ -399,6 +396,8 @@ tui_enable (void) if (selected_frame) tuiShowFrameInfo (selected_frame); + /* Restore TUI keymap. */ + tui_set_key_mode (tui_current_key_mode); refresh (); /* Update gdb's knowledge of its terminal. */ @@ -416,6 +415,9 @@ tui_disable (void) if (!tui_active) return; + /* Restore initial readline keymap. */ + rl_set_keymap (tui_readline_standard_keymap); + /* Remove TUI hooks. */ tui_remove_hooks (); rl_startup_hook = 0; diff --git a/gdb/tui/tuiIO.c b/gdb/tui/tuiIO.c index 2e3d79f2f4b..f70df8f4748 100644 --- a/gdb/tui/tuiIO.c +++ b/gdb/tui/tuiIO.c @@ -185,7 +185,12 @@ tui_redisplay_readline (void) WINDOW *w; char *prompt; int start_line; - + + /* Detect when we temporarily left SingleKey and now the readline + edit buffer is empty, automatically restore the SingleKey mode. */ + if (tui_current_key_mode == tui_one_command_mode && rl_end == 0) + tui_set_key_mode (tui_single_key_mode); + if (tui_current_key_mode == tui_single_key_mode) prompt = ""; else