2003-01-09 Andrew Cagney <ac131313@redhat.com>
[deliverable/binutils-gdb.git] / gdb / scm-lang.c
index 30ca763c1da487d9bfd1cb60cb2f49acb0c0be2a..4d3f2c187417141cde1ebdd28170fe2a53d769bb 100644 (file)
@@ -29,6 +29,7 @@
 #include "c-lang.h"
 #include "scm-lang.h"
 #include "scm-tags.h"
+#include "source.h"
 #include "gdb_string.h"
 #include "gdbcore.h"
 
@@ -86,7 +87,7 @@ scm_get_field (LONGEST svalue, int index)
    or Boolean (CONTEXT == TYPE_CODE_BOOL).  */
 
 LONGEST
-scm_unpack (struct type *type, char *valaddr, enum type_code context)
+scm_unpack (struct type *type, const char *valaddr, enum type_code context)
 {
   if (is_scmvalue_type (type))
     {
@@ -133,9 +134,11 @@ scm_unpack (struct type *type, char *valaddr, enum type_code context)
 static int
 in_eval_c (void)
 {
-  if (current_source_symtab && current_source_symtab->filename)
+  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+  
+  if (cursal.symtab && cursal.symtab->filename)
     {
-      char *filename = current_source_symtab->filename;
+      char *filename = cursal.symtab->filename;
       int len = strlen (filename);
       if (len >= 6 && strcmp (filename + len - 6, "eval.c") == 0)
        return 1;
@@ -180,7 +183,7 @@ scm_lookup_name (char *str)
                       (struct symtab **) NULL);
   if (sym)
     return value_of_variable (sym, NULL);
-  error ("No symbol \"%s\" in current context.");
+  error ("No symbol \"%s\" in current context.", str);
 }
 
 struct value *
This page took 0.024033 seconds and 4 git commands to generate.