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 <palves@redhat.com>
* 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 <palves@redhat.com>
+ * 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 <palves@redhat.com>
+
* top.c (read_command_file): Inline command_loop here.
(command_loop): Delete.
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)
#include "symtab.h"
#include "source.h"
#include "terminal.h"
+#include "top.h"
#include <ctype.h>
#include <signal.h>
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;