Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [RFA] add selected-frame-level-changed events
@ 2002-08-27 13:43 Keith Seitz
  2002-08-27 14:20 ` Andrew Cagney
  0 siblings, 1 reply; 8+ messages in thread
From: Keith Seitz @ 2002-08-27 13:43 UTC (permalink / raw)
  To: gdb-patches

Hi,

Here's the follow-up to the gdb-event.sh change which added the 
"selected-frame-level-changed" event, which adds notifications for this 
event in the right places.

It would have been nice to just put one notification in select_frame, but 
as we all know (or should), that function is called WAY to many times 
internally to be of any use for this purpose. Maybe a fixme is needed?

Keith

ChangeLog
2002-08-27  Keith Seitz  <keiths@redhat.com>

        * stack.c (select_frame_command): Send selected-frame-level-changed
        event notification, but only if the level actually changed.
        (up_silently_base): Add selected-frame-level-changed event
        notification.
        (down_silently_base): Likewise.

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	27 Aug 2002 20:33:38 -0000
*************** select_frame_command_wrapper (char *leve
*** 1620,1627 ****
  static void
  select_frame_command (char *level_exp, int from_tty)
  {
!   register struct frame_info *frame, *frame1;
!   unsigned int level = 0;
  
    if (!target_has_stack)
      error ("No stack.");
--- 1620,1627 ----
  static void
  select_frame_command (char *level_exp, int from_tty)
  {
!   struct frame_info *frame;
!   int level = frame_relative_level (selected_frame);
  
    if (!target_has_stack)
      error ("No stack.");
*************** select_frame_command (char *level_exp, i
*** 1629,1634 ****
--- 1629,1636 ----
    frame = parse_frame_specification (level_exp);
  
    select_frame (frame);
+   if (level != frame_relative_level (selected_frame))
+     selected_frame_level_changed_event (frame_relative_level (selected_frame));
  }
  
  /* The "frame" command.  With no arg, print selected frame briefly.
*************** up_silently_base (char *count_exp)
*** 1674,1679 ****
--- 1676,1682 ----
    if (count1 != 0 && count_exp == 0)
      error ("Initial frame selected; you cannot go up.");
    select_frame (fi);
+   selected_frame_level_changed_event (frame_relative_level (selected_frame));
  }
  
  static void
*************** down_silently_base (char *count_exp)
*** 1719,1724 ****
--- 1722,1728 ----
      }
  
    select_frame (frame);
+   selected_frame_level_changed_event (frame_relative_level (selected_frame));
  }
  
  /* ARGSUSED */


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-08-28 17:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-27 13:43 [RFA] add selected-frame-level-changed events Keith Seitz
2002-08-27 14:20 ` Andrew Cagney
2002-08-27 14:40   ` Keith Seitz
2002-08-27 15:16     ` Andrew Cagney
2002-08-28  8:41       ` Keith Seitz
2002-08-28  8:51         ` Keith Seitz
2002-08-28 10:23         ` Andrew Cagney
2002-08-28 10:33           ` Keith Seitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox