2002-08-31 Stephane Carrez <stcarrez@nerim.fr>
[deliverable/binutils-gdb.git] / gdb / tui / tuiIO.c
index 31e7c23ad2be9cc2a3ba916dac601b72ba6d8071..c48565ceb1f959568b5a9354b3a97eb292ba95b3 100644 (file)
@@ -1,5 +1,8 @@
 /* TUI support I/O functions.
-   Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+
+   Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation,
+   Inc.
+
    Contributed by Hewlett-Packard Company.
 
    This file is part of GDB.
    Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-/* If we need <curses.h>, we must include it before we get "bfd.h".  */
+/* FIXME: cagney/2002-02-28: The GDB coding standard indicates that
+   "defs.h" should be included first.  Unfortunatly some systems
+   (currently Debian GNU/Linux) include the <stdbool.h> via <curses.h>
+   and they clash with "bfd.h"'s definiton of true/false.  The correct
+   fix is to remove true/false from "bfd.h", however, until that
+   happens, hack around it by including "config.h" and <curses.h>
+   first.  */
+
 #include "config.h"
 #ifdef HAVE_NCURSES_H       
 #include <ncurses.h>
@@ -34,6 +44,7 @@
 #include "terminal.h"
 #include "target.h"
 #include "event-loop.h"
+#include "event-top.h"
 #include "command.h"
 #include "top.h"
 #include "readline/readline.h"
 #include <fcntl.h>
 #include <signal.h>
 
+/* Use definition from readline 4.3.  */
+#undef CTRL_CHAR
+#define CTRL_CHAR(c) ((c) < control_character_threshold && (((c) & 0x80) == 0))
+
 /* This file controls the IO interactions between gdb and curses.
    When the TUI is enabled, gdb has two modes a curses and a standard
    mode.
@@ -137,7 +152,7 @@ tui_puts (const char *string)
 /* Readline callback.
    Redisplay the command line with its prompt after readline has
    changed the edited text.  */
-static void
+void
 tui_redisplay_readline (void)
 {
   int prev_col;
@@ -150,7 +165,10 @@ tui_redisplay_readline (void)
   char *prompt;
   int start_line;
   
-  prompt = get_prompt ();
+  if (tui_current_key_mode == tui_single_key_mode)
+    prompt = "";
+  else
+    prompt = get_prompt ();
   
   c_pos = -1;
   c_line = -1;
This page took 0.024373 seconds and 4 git commands to generate.