From ab33ab13aa093778263d554dd0e702814a5a8cbd Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 12 Apr 2016 16:49:29 +0100 Subject: [PATCH] TUI: check whether in secondary prompt instead of immediate_quit As can be seen in the tui_redisplay_readline comment: "The command could call prompt_for_continue and we must not restore SingleKey so that the prompt and normal keymap are used." immediate_quit is being used as proxy for "secondary prompt". We have a better predicate nowadays, so use it. gdb/ChangeLog: 2016-04-12 Pedro Alves * tui/tui-io.c (tui_redisplay_readline): Check gdb_in_secondary_prompt_p instead of immediate_quit. * tui/tui.c: Include top.h. (tui_rl_startup_hook): Check gdb_in_secondary_prompt_p instead of immediate_quit. --- gdb/ChangeLog | 8 ++++++++ gdb/tui/tui-io.c | 2 +- gdb/tui/tui.c | 4 +++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8cc34745e8..aa23a65faf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2016-04-12 Pedro Alves + + * tui/tui-io.c (tui_redisplay_readline): Check + gdb_in_secondary_prompt_p instead of immediate_quit. + * tui/tui.c: Include top.h. + (tui_rl_startup_hook): Check gdb_in_secondary_prompt_p instead of + immediate_quit. + 2016-04-12 Pedro Alves * top.c (read_command_file): Inline command_loop here. diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c index 18c648c08f..3fa32db210 100644 --- a/gdb/tui/tui-io.c +++ b/gdb/tui/tui-io.c @@ -212,7 +212,7 @@ tui_redisplay_readline (void) The command could call prompt_for_continue and we must not restore SingleKey so that the prompt and normal keymap are used. */ if (tui_current_key_mode == TUI_ONE_COMMAND_MODE && rl_end == 0 - && immediate_quit == 0) + && !gdb_in_secondary_prompt_p ()) tui_set_key_mode (TUI_SINGLE_KEY_MODE); if (tui_current_key_mode == TUI_SINGLE_KEY_MODE) diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c index 273a0d9d8b..96f8df7839 100644 --- a/gdb/tui/tui.c +++ b/gdb/tui/tui.c @@ -38,6 +38,7 @@ #include "symtab.h" #include "source.h" #include "terminal.h" +#include "top.h" #include #include @@ -302,7 +303,8 @@ static int tui_rl_startup_hook (void) { rl_already_prompted = 1; - if (tui_current_key_mode != TUI_COMMAND_MODE && immediate_quit == 0) + if (tui_current_key_mode != TUI_COMMAND_MODE + && !gdb_in_secondary_prompt_p ()) tui_set_key_mode (TUI_SINGLE_KEY_MODE); tui_redisplay_readline (); return 0; -- 2.34.1