Fix GDB busy loop when interrupting non-stop program (PR 26199)
[deliverable/binutils-gdb.git] / gdb / tui / tui.c
index 280af8acce9cbc45a84f4fea4e9edcf34d22e5e9..828e42bccf7a263da40648699f967f1aabcbec60 100644 (file)
@@ -268,8 +268,14 @@ tui_set_key_mode (enum tui_key_mode mode)
 /* Initialize readline and configure the keymap for the switching
    key shortcut.  */
 void
-tui_initialize_readline (void)
+tui_ensure_readline_initialized ()
 {
+  static bool initialized;
+
+  if (initialized)
+    return;
+  initialized = true;
+
   int i;
   Keymap tui_ctlx_keymap;
 
@@ -325,6 +331,9 @@ tui_initialize_readline (void)
   rl_bind_key_in_map ('q', tui_rl_next_keymap, tui_keymap);
   rl_bind_key_in_map ('s', tui_rl_next_keymap, emacs_ctlx_keymap);
   rl_bind_key_in_map ('s', tui_rl_next_keymap, tui_ctlx_keymap);
+
+  /* Initialize readline after the above.  */
+  rl_initialize ();
 }
 
 /* Return the TERM variable from the environment, or "<unset>"
@@ -422,7 +431,7 @@ tui_enable (void)
       def_prog_mode ();
 
       tui_show_frame_info (0);
-      tui_set_layout (SRC_COMMAND);
+      tui_set_initial_layout ();
       tui_set_win_focus_to (TUI_SRC_WIN);
       keypad (TUI_CMD_WIN->handle.get (), TRUE);
       wrefresh (TUI_CMD_WIN->handle.get ());
@@ -562,9 +571,11 @@ _initialize_tui ()
   tuicmd = tui_get_cmd_list ();
 
   add_cmd ("enable", class_tui, tui_enable_command,
-          _("Enable TUI display mode."),
+          _("Enable TUI display mode.\n\
+Usage: tui enable"),
           tuicmd);
   add_cmd ("disable", class_tui, tui_disable_command,
-          _("Disable TUI display mode."),
+          _("Disable TUI display mode.\n\
+Usage: tui disable"),
           tuicmd);
 }
This page took 0.059698 seconds and 4 git commands to generate.