*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / interps.c
index 7f48ef8233299a3297e2fd54803f7e96525eb84b..f142e5a6707ca2b7da61400a8b776acf2cd7dd83 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. */
 
@@ -81,7 +82,7 @@ void _initialize_interpreter (void);
 
 static struct interp *interp_list = NULL;
 static struct interp *current_interpreter = NULL;
-static struct interp *top_level_interpreter = NULL;
+static struct interp *top_level_interpreter_ptr = NULL;
 
 static int interpreter_initialized = 0;
 
@@ -144,7 +145,7 @@ interp_set (struct interp *interp, int top_level)
   /* If we already have an interpreter, then trying to
      set top level interpreter is kinda pointless.  */
   gdb_assert (!top_level || !current_interpreter);
-  gdb_assert (!top_level || !top_level_interpreter);
+  gdb_assert (!top_level || !top_level_interpreter_ptr);
 
   if (current_interpreter != NULL)
     {
@@ -165,7 +166,7 @@ interp_set (struct interp *interp, int top_level)
 
   current_interpreter = interp;
   if (top_level)
-    top_level_interpreter = interp;
+    top_level_interpreter_ptr = interp;
 
   /* We use interpreter_p for the "set interpreter" variable, so we need
      to make sure we have a malloc'ed copy for the set command to free. */
@@ -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;
@@ -476,11 +466,17 @@ interpreter_completer (char *text, char *word)
   return matches;
 }
 
-extern void *
+struct interp *
+top_level_interpreter (void)
+{
+  return top_level_interpreter_ptr;  
+}
+
+void *
 top_level_interpreter_data (void)
 {
-  gdb_assert (top_level_interpreter);
-  return top_level_interpreter->data;  
+  gdb_assert (top_level_interpreter_ptr);
+  return top_level_interpreter_ptr->data;  
 }
 
 /* This just adds the "interpreter-exec" command.  */
This page took 0.025746 seconds and 4 git commands to generate.