This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]