This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[RFA] stack.c: Always set current_source_{symtab,line}
- From: Keith Seitz <keiths at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Wed, 14 Aug 2002 16:28:35 -0700 (PDT)
- Subject: [RFA] stack.c: Always set current_source_{symtab,line}
Hi,
Another MI fallout. This has changed a few times in the past few months,
but I believe that this is how it should be for anything that uses the
CLI/command interpreter.
Without this, an -interpreter-exec call in MI will get "lost". (Use MI to
stop at breakpoint, step a few times, use console interp to "break" --
breakpoint would be set someplace other than current location.)
I've run this through the testsuite, and it introduces no new failures.
(And of course, it still works with Insight.)
Keith
ChangeLog
2002-08-14 Keith Seitz <keiths@redhat.com>
* stack.c (print_frame_info_base): Always set current_source_symtab
and current_source_line.
Patch
Index: stack.c
===================================================================
RCS file: /cvs/src/src/gdb/stack.c,v
retrieving revision 1.40
diff -p -r1.40 stack.c
*** stack.c 11 Jul 2002 19:29:08 -0000 1.40
--- stack.c 14 Aug 2002 23:17:59 -0000
*************** print_frame_info_base (struct frame_info
*** 398,403 ****
--- 398,408 ----
print_frame (fi, level, source, args, sal);
source_print = (source == SRC_LINE || source == SRC_AND_LOC);
+ if (sal.symtab != NULL)
+ {
+ current_source_symtab = sal.symtab;
+ current_source_line = sal.line;
+ }
if (source_print && sal.symtab)
{
*************** print_frame_info_base (struct frame_info
*** 410,419 ****
if (!done)
{
if (print_frame_info_listing_hook)
! {
! print_frame_info_listing_hook (sal.symtab, sal.line, sal.line + 1, 0);
! current_source_symtab = sal.symtab;
! }
else
{
/* We used to do this earlier, but that is clearly
--- 415,421 ----
if (!done)
{
if (print_frame_info_listing_hook)
! print_frame_info_listing_hook (sal.symtab, sal.line, sal.line + 1, 0);
else
{
/* We used to do this earlier, but that is clearly