aboutsummaryrefslogtreecommitdiff
path: root/gdb/macroscope.c
diff options
context:
space:
mode:
authorFernando Nasser <fnasser@redhat.com>2002-09-20 14:58:59 +0000
committerFernando Nasser <fnasser@redhat.com>2002-09-20 14:58:59 +0000
commit0378c3323148fbb291d1035d9959de9d9c3a0f7b (patch)
tree7a24175361aea3a17223b0a3cea75e08f2c97eb4 /gdb/macroscope.c
parent7cf108933bd1b2e94d4bd531583060262abd543c (diff)
downloadgdb-0378c3323148fbb291d1035d9959de9d9c3a0f7b.zip
gdb-0378c3323148fbb291d1035d9959de9d9c3a0f7b.tar.gz
gdb-0378c3323148fbb291d1035d9959de9d9c3a0f7b.tar.bz2
* source.c: Make global variables current_source_symtab and
current_source_line static. (list_command): Moved to cli/cli-cmds.c. (ambiguous_line_spec): Moved to cli/cli-cmds.c. (get_first_line_listed): New accessor function. (get_lines_to_list): New accessor function. (get_current_source_symtab_and_line): New function. Retrieves the position in the source code that we consider current. (get_current_or_default_source_symtab_and_line): New function. Like the above but attempts to determine a default position if one is not currently defined. (set_current_source_symtab_and_line): New function. Sets the source code position considered current and returns the previously set one. (clear_current_source_symtab_and_line): Reset stored information about a current source line. (_initialize_source): Remove registration for the "list" command and its alias. * source.h: Add declarations for the new functions above. * symtab.h: Remove declarations for the global variables mentioned above. * breakpoint.c (parse_breakpoint_sals): Use accessor functions to obtain current source line. * linespec.c (decode_line_1): Ditto. * macroscope.c (default_macro_scope): Ditto. * scm-lang.c (scm_unpac): Ditto. * stack.c (print_frame_info_base): Ditto. * symfile.c (clear_symtab_users): Ditto. * symtab.c (decode_line_spec): Ditto. * cli/cli-cmds.c (list_command): Moved here from source.c. (ambiguous_line_spec): Moved here from source.c. (_init_cli_cmds): Add definition for "list" and its alias. * Makefile.in: Update dependencies.
Diffstat (limited to 'gdb/macroscope.c')
-rw-r--r--gdb/macroscope.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/macroscope.c b/gdb/macroscope.c
index 08ff6eb..083dc1f 100644
--- a/gdb/macroscope.c
+++ b/gdb/macroscope.c
@@ -23,6 +23,7 @@
#include "macroscope.h"
#include "symtab.h"
+#include "source.h"
#include "target.h"
#include "frame.h"
#include "inferior.h"
@@ -84,11 +85,14 @@ default_macro_scope (void)
evaluator to evaluate their numeric arguments. If the
current language is C, then that may call this function to
choose a scope for macro expansion. If you don't have any
- symbol files loaded, then select_source_symtab will raise an
+ symbol files loaded, then get_current_or_default would raise an
error. But `set width' shouldn't raise an error just because
it can't decide which scope to macro-expand its argument in. */
- sal.symtab = current_source_symtab;
- sal.line = current_source_line;
+ struct symtab_and_line cursal =
+ get_current_source_symtab_and_line ();
+
+ sal.symtab = cursal.symtab;
+ sal.line = cursal.line;
}
return sal_macro_scope (sal);