]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/tui/tui-hooks.c
Copyright updates for 2007.
[thirdparty/binutils-gdb.git] / gdb / tui / tui-hooks.c
index f0f2060d87b27422e6a063d4898b1d619b0fd4b5..2e1f1f1991b009dd53d115b7a11dbfb4339829dc 100644 (file)
@@ -1,6 +1,7 @@
 /* GDB hooks for TUI.
 
-   Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
 #include "symtab.h"
 #include "gdb-events.h"
 #include "ui-out.h"
 #include "top.h"
-#include <readline/readline.h>
 #include <unistd.h>
 #include <fcntl.h>
 
 #include "tui/tui.h"
+#include "tui/tui-hooks.h"
 #include "tui/tui-data.h"
 #include "tui/tui-layout.h"
 #include "tui/tui-io.h"
 #include "tui/tui-windata.h"
 #include "tui/tui-winsource.h"
 
-#ifdef HAVE_NCURSES_H
-#include <ncurses.h>
-#else
-#ifdef HAVE_CURSES_H
-#include <curses.h>
-#endif
-#endif
+#include "gdb_curses.h"
+
+/* This redefines CTRL if it is not already defined, so it must come
+   after terminal state releated include files like <term.h> and
+   "gdb_curses.h".  */
+#include "readline/readline.h"
 
 int tui_target_has_run = 0;
 
@@ -71,17 +71,13 @@ tui_new_objfile_hook (struct objfile* objfile)
     tui_target_new_objfile_chain (objfile);
 }
 
-static int
+static int ATTR_FORMAT (printf, 1, 0)
 tui_query_hook (const char * msg, va_list argp)
 {
   int retval;
   int ans2;
   int answer;
 
-  /* Automatically answer "yes" if input is not from a terminal.  */
-  if (!input_from_terminal_p ())
-    return 1;
-
   echo ();
   while (1)
     {
@@ -89,7 +85,7 @@ tui_query_hook (const char * msg, va_list argp)
       gdb_flush (gdb_stdout);
 
       vfprintf_filtered (gdb_stdout, msg, argp);
-      printf_filtered ("(y or n) ");
+      printf_filtered (_("(y or n) "));
 
       wrap_here ("");
       gdb_flush (gdb_stdout);
@@ -122,13 +118,13 @@ tui_query_hook (const char * msg, va_list argp)
          retval = 0;
          break;
        }
-      printf_filtered ("Please answer y or n.\n");
+      printf_filtered (_("Please answer y or n.\n"));
     }
   noecho ();
   return retval;
 }
 
-/* Prevent recursion of registers_changed_hook().  */
+/* Prevent recursion of deprecated_registers_changed_hook().  */
 static int tui_refreshing_registers = 0;
 
 static void
@@ -141,7 +137,7 @@ tui_registers_changed_hook (void)
     {
       tui_refreshing_registers = 1;
 #if 0
-      tuiCheckDataValues (fi);
+      tui_check_data_values (fi);
 #endif
       tui_refreshing_registers = 0;
     }
@@ -156,7 +152,7 @@ tui_register_changed_hook (int regno)
   if (fi && tui_refreshing_registers == 0)
     {
       tui_refreshing_registers = 1;
-      tuiCheckDataValues (fi);
+      tui_check_data_values (fi);
       tui_refreshing_registers = 0;
     }
 }
@@ -250,13 +246,13 @@ tui_selected_frame_level_changed_hook (int level)
         select_source_symtab (s);
 
       /* Display the frame position (even if there is no symbols).  */
-      tuiShowFrameInfo (fi);
+      tui_show_frame_info (fi);
 
       /* Refresh the register window if it's visible.  */
       if (tui_is_window_visible (DATA_WIN))
         {
           tui_refreshing_registers = 1;
-          tuiCheckDataValues (fi);
+          tui_check_data_values (fi);
           tui_refreshing_registers = 0;
         }
     }
@@ -268,7 +264,7 @@ tui_print_frame_info_listing_hook (struct symtab *s, int line,
                                    int stopline, int noerror)
 {
   select_source_symtab (s);
-  tuiShowFrameInfo (deprecated_selected_frame);
+  tui_show_frame_info (deprecated_selected_frame);
 }
 
 /* Called when the target process died or is detached.
@@ -276,7 +272,7 @@ tui_print_frame_info_listing_hook (struct symtab *s, int line,
 static void
 tui_detach_hook (void)
 {
-  tuiShowFrameInfo (0);
+  tui_show_frame_info (0);
   tui_display_main ();
 }
 
@@ -284,34 +280,34 @@ tui_detach_hook (void)
 void
 tui_install_hooks (void)
 {
-  target_wait_hook = tui_target_wait_hook;
-  selected_frame_level_changed_hook = tui_selected_frame_level_changed_hook;
-  print_frame_info_listing_hook = tui_print_frame_info_listing_hook;
+  deprecated_target_wait_hook = tui_target_wait_hook;
+  deprecated_selected_frame_level_changed_hook = tui_selected_frame_level_changed_hook;
+  deprecated_print_frame_info_listing_hook = tui_print_frame_info_listing_hook;
 
-  query_hook = tui_query_hook;
+  deprecated_query_hook = tui_query_hook;
 
   /* Install the event hooks.  */
-  tui_old_event_hooks = set_gdb_event_hooks (&tui_event_hooks);
+  tui_old_event_hooks = deprecated_set_gdb_event_hooks (&tui_event_hooks);
 
-  registers_changed_hook = tui_registers_changed_hook;
-  register_changed_hook = tui_register_changed_hook;
-  detach_hook = tui_detach_hook;
+  deprecated_registers_changed_hook = tui_registers_changed_hook;
+  deprecated_register_changed_hook = tui_register_changed_hook;
+  deprecated_detach_hook = tui_detach_hook;
 }
 
 /* Remove the TUI specific hooks.  */
 void
 tui_remove_hooks (void)
 {
-  target_wait_hook = 0;
-  selected_frame_level_changed_hook = 0;
-  print_frame_info_listing_hook = 0;
-  query_hook = 0;
-  registers_changed_hook = 0;
-  register_changed_hook = 0;
-  detach_hook = 0;
+  deprecated_target_wait_hook = 0;
+  deprecated_selected_frame_level_changed_hook = 0;
+  deprecated_print_frame_info_listing_hook = 0;
+  deprecated_query_hook = 0;
+  deprecated_registers_changed_hook = 0;
+  deprecated_register_changed_hook = 0;
+  deprecated_detach_hook = 0;
 
   /* Restore the previous event hooks.  */
-  set_gdb_event_hooks (tui_old_event_hooks);
+  deprecated_set_gdb_event_hooks (tui_old_event_hooks);
 }
 
 void _initialize_tui_hooks (void);
@@ -320,6 +316,6 @@ void
 _initialize_tui_hooks (void)
 {
   /* Install the permanent hooks.  */
-  tui_target_new_objfile_chain = target_new_objfile_hook;
-  target_new_objfile_hook = tui_new_objfile_hook;
+  tui_target_new_objfile_chain = deprecated_target_new_objfile_hook;
+  deprecated_target_new_objfile_hook = tui_new_objfile_hook;
 }