merge from gcc
[external/binutils.git] / gdb / interps.c
index 0ebc3f4..f142e5a 100644 (file)
@@ -1,6 +1,7 @@
 /* Manages interpreters for GDB, the GNU debugger.
 
-   Copyright (C) 2000, 2002, 2003, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2003, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
 
    Written by Jim Ingham <jingham@apple.com> of Apple Computer, Inc.
 
@@ -37,7 +38,6 @@
 #include "interps.h"
 #include "completer.h"
 #include "gdb_string.h"
-#include "gdb-events.h"
 #include "gdb_assert.h"
 #include "top.h"               /* For command_loop.  */
 #include "exceptions.h"
@@ -71,7 +71,8 @@ struct interp
 
 /* Functions local to this file. */
 static void initialize_interps (void);
-static char **interpreter_completer (char *text, char *word);
+static char **interpreter_completer (struct cmd_list_element *cmd,
+                                    char *text, char *word);
 
 /* The magic initialization routine for this module. */
 
@@ -148,7 +149,7 @@ interp_set (struct interp *interp, int top_level)
 
   if (current_interpreter != NULL)
     {
-      do_all_continuations (0);
+      do_all_continuations ();
       ui_out_flush (uiout);
       if (current_interpreter->procs->suspend_proc
          && !current_interpreter->procs->suspend_proc (current_interpreter->
@@ -337,22 +338,16 @@ clear_interpreter_hooks (void)
   /*print_frame_more_info_hook = 0; */
   deprecated_query_hook = 0;
   deprecated_warning_hook = 0;
-  deprecated_create_breakpoint_hook = 0;
-  deprecated_delete_breakpoint_hook = 0;
-  deprecated_modify_breakpoint_hook = 0;
   deprecated_interactive_hook = 0;
   deprecated_readline_begin_hook = 0;
   deprecated_readline_hook = 0;
   deprecated_readline_end_hook = 0;
   deprecated_register_changed_hook = 0;
-  deprecated_memory_changed_hook = 0;
   deprecated_context_hook = 0;
   deprecated_target_wait_hook = 0;
   deprecated_call_command_hook = 0;
-  deprecated_error_hook = 0;
   deprecated_error_begin_hook = 0;
   deprecated_command_loop_hook = 0;
-  clear_gdb_event_hooks ();
 }
 
 /* This is a lazy init routine, called the first time the interpreter
@@ -376,20 +371,15 @@ interpreter_exec_cmd (char *args, int from_tty)
   unsigned int i;
   int old_quiet, use_quiet;
 
-  prules = buildargv (args);
-  if (prules == NULL)
-    {
-      error (_("unable to parse arguments"));
-    }
+  if (args == NULL)
+    error_no_arg (_("interpreter-exec command"));
+
+  prules = gdb_buildargv (args);
+  make_cleanup_freeargv (prules);
 
   nrules = 0;
-  if (prules != NULL)
-    {
-      for (trule = prules; *trule != NULL; trule++)
-       {
-         nrules++;
-       }
-    }
+  for (trule = prules; *trule != NULL; trule++)
+    nrules++;
 
   if (nrules < 2)
     error (_("usage: interpreter-exec <interpreter> [ <command> ... ]"));
@@ -426,7 +416,7 @@ interpreter_exec_cmd (char *args, int from_tty)
 
 /* List the possible interpreters which could complete the given text. */
 static char **
-interpreter_completer (char *text, char *word)
+interpreter_completer (struct cmd_list_element *ignore, char *text, char *word)
 {
   int alloced = 0;
   int textlen;