TUI: check whether in secondary prompt instead of immediate_quit
authorPedro Alves <palves@redhat.com>
Tue, 12 Apr 2016 15:49:29 +0000 (16:49 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 12 Apr 2016 15:50:59 +0000 (16:50 +0100)
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.

gdb/ChangeLog
gdb/tui/tui-io.c
gdb/tui/tui.c

index 8cc34745e858d694fab1c49f5ac3918410357ff6..aa23a65faf7ca3ce462e043059fe4f21114e011c 100644 (file)
@@ -1,3 +1,11 @@
+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.
index 18c648c08fdbe9a8f7d04c406c6a99e9149ca295..3fa32db210494cee547048473f17e746d163d284 100644 (file)
@@ -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)
index 273a0d9d8ba49d9ef8a39f418e75fe9146811eb7..96f8df7839de9b7c7fc9a51fcba496deb0bd7fb2 100644 (file)
@@ -38,6 +38,7 @@
 #include "symtab.h"
 #include "source.h"
 #include "terminal.h"
+#include "top.h"
 
 #include <ctype.h>
 #include <signal.h>
@@ -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;