* frame.c (deprecated_selected_frame): Rename to...
authorDaniel Jacobowitz <drow@false.org>
Tue, 27 Feb 2007 19:46:04 +0000 (19:46 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 27 Feb 2007 19:46:04 +0000 (19:46 +0000)
(selected_frame): ...this.  Make static.
(get_selected_frame, select_frame): Update.
* frame.h (deprected_select_frame): Delete.
(deprecated_safe_get_selected_frame): Update comments.

* breakpoint.c, cli/cli-cmds.c, f-valprint.c, infcmd.c, inflow.c,
infrun.c, stack.c, tui/tui-disasm.c, tui/tui-source.c,
tui/tui-winsource.c, valops.c, varobj.c, findvar.c, macroscope.c,
parse.c, regcache.h, sh64-tdep.c, tui/tui-hooks.c, tui/tui-win.c,
tui/tui.c: Replace references to deprecated_selected_frame.

23 files changed:
gdb/ChangeLog
gdb/breakpoint.c
gdb/cli/cli-cmds.c
gdb/f-valprint.c
gdb/findvar.c
gdb/frame.c
gdb/frame.h
gdb/infcmd.c
gdb/inflow.c
gdb/infrun.c
gdb/macroscope.c
gdb/parse.c
gdb/regcache.h
gdb/sh64-tdep.c
gdb/stack.c
gdb/tui/tui-disasm.c
gdb/tui/tui-hooks.c
gdb/tui/tui-source.c
gdb/tui/tui-win.c
gdb/tui/tui-winsource.c
gdb/tui/tui.c
gdb/valops.c
gdb/varobj.c

index 12cdcd25d8037266993dd945c62a477a0b444749..a95a673139809586192dcb242ef0e9f91f4f463e 100644 (file)
@@ -1,3 +1,17 @@
+2007-02-27  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * frame.c (deprecated_selected_frame): Rename to...
+       (selected_frame): ...this.  Make static.
+       (get_selected_frame, select_frame): Update.
+       * frame.h (deprected_select_frame): Delete.
+       (deprecated_safe_get_selected_frame): Update comments.
+
+       * breakpoint.c, cli/cli-cmds.c, f-valprint.c, infcmd.c, inflow.c,
+       infrun.c, stack.c, tui/tui-disasm.c, tui/tui-source.c,
+       tui/tui-winsource.c, valops.c, varobj.c, findvar.c, macroscope.c,
+       parse.c, regcache.h, sh64-tdep.c, tui/tui-hooks.c, tui/tui-win.c,
+       tui/tui.c: Replace references to deprecated_selected_frame.
+
 2007-02-27  Fred Fish  <fnf@specifix.com>
 
        * rs6000-tdep.c (skip_prologue): Recognize addi instructions that 
index e50c99a1f9b93d9a786ca8b9f692f41ea79ba322..aebd95d83b76b5e34581b8f52c45cc97050b4408 100644 (file)
@@ -1045,7 +1045,7 @@ Note: automatically using hardware breakpoints for read-only addresses.\n"));
       /* FIXME drow/2003-09-09: It would be nice if evaluate_expression
         took a frame parameter, so that we didn't have to change the
         selected frame.  */
-      saved_frame_id = get_frame_id (deprecated_selected_frame);
+      saved_frame_id = get_frame_id (get_selected_frame (NULL));
 
       /* Determine if the watchpoint is within scope.  */
       if (bpt->owner->exp_valid_block == NULL)
@@ -6053,7 +6053,8 @@ until_break_command (char *arg, int from_tty, int anywhere)
 {
   struct symtabs_and_lines sals;
   struct symtab_and_line sal;
-  struct frame_info *prev_frame = get_prev_frame (deprecated_selected_frame);
+  struct frame_info *frame = get_selected_frame (NULL);
+  struct frame_info *prev_frame = get_prev_frame (frame);
   struct breakpoint *breakpoint;
   struct cleanup *old_chain;
   struct continuation_arg *arg1;
@@ -6089,8 +6090,7 @@ until_break_command (char *arg, int from_tty, int anywhere)
   else
     /* Otherwise, specify the current frame, because we want to stop only
        at the very same frame.  */
-    breakpoint = set_momentary_breakpoint (sal,
-                                          get_frame_id (deprecated_selected_frame),
+    breakpoint = set_momentary_breakpoint (sal, get_frame_id (frame),
                                           bp_until);
 
   if (!target_can_async_p ())
index a9a8c9a4303ed30353ea0d689abdf2b35d64ec96..611f1262fd4706cf7303caf8231a803ed1da85b4 100644 (file)
@@ -915,10 +915,7 @@ disassemble_command (char *arg, int from_tty)
   name = NULL;
   if (!arg)
     {
-      if (!deprecated_selected_frame)
-       error (_("No frame selected."));
-
-      pc = get_frame_pc (deprecated_selected_frame);
+      pc = get_frame_pc (get_selected_frame (_("No frame selected.")));
       if (find_pc_partial_function (pc, &name, &low, &high) == 0)
        error (_("No function contains program counter for selected frame."));
 #if defined(TUI)
index 480074b3ee8860c61e2a77c860567bb91549f864..41a9771611698173a0f185f84863ef0bd7433ce0 100644 (file)
@@ -65,13 +65,15 @@ int f77_array_offset_tbl[MAX_FORTRAN_DIMS + 1][2];
 int
 f77_get_dynamic_lowerbound (struct type *type, int *lower_bound)
 {
+  struct frame_info *frame;
   CORE_ADDR current_frame_addr;
   CORE_ADDR ptr_to_lower_bound;
 
   switch (TYPE_ARRAY_LOWER_BOUND_TYPE (type))
     {
     case BOUND_BY_VALUE_ON_STACK:
-      current_frame_addr = get_frame_base (deprecated_selected_frame);
+      frame = deprecated_safe_get_selected_frame ();
+      current_frame_addr = get_frame_base (frame);
       if (current_frame_addr > 0)
        {
          *lower_bound =
@@ -95,7 +97,8 @@ f77_get_dynamic_lowerbound (struct type *type, int *lower_bound)
       break;
 
     case BOUND_BY_REF_ON_STACK:
-      current_frame_addr = get_frame_base (deprecated_selected_frame);
+      frame = deprecated_safe_get_selected_frame ();
+      current_frame_addr = get_frame_base (frame);
       if (current_frame_addr > 0)
        {
          ptr_to_lower_bound =
@@ -123,13 +126,15 @@ f77_get_dynamic_lowerbound (struct type *type, int *lower_bound)
 int
 f77_get_dynamic_upperbound (struct type *type, int *upper_bound)
 {
+  struct frame_info *frame;
   CORE_ADDR current_frame_addr = 0;
   CORE_ADDR ptr_to_upper_bound;
 
   switch (TYPE_ARRAY_UPPER_BOUND_TYPE (type))
     {
     case BOUND_BY_VALUE_ON_STACK:
-      current_frame_addr = get_frame_base (deprecated_selected_frame);
+      frame = deprecated_safe_get_selected_frame ();
+      current_frame_addr = get_frame_base (frame);
       if (current_frame_addr > 0)
        {
          *upper_bound =
@@ -158,7 +163,8 @@ f77_get_dynamic_upperbound (struct type *type, int *upper_bound)
       break;
 
     case BOUND_BY_REF_ON_STACK:
-      current_frame_addr = get_frame_base (deprecated_selected_frame);
+      frame = deprecated_safe_get_selected_frame ();
+      current_frame_addr = get_frame_base (frame);
       if (current_frame_addr > 0)
        {
          ptr_to_upper_bound =
@@ -643,10 +649,7 @@ info_common_command (char *comname, int from_tty)
      first make sure that it is visible and if so, let 
      us display its contents */
 
-  fi = deprecated_selected_frame;
-
-  if (fi == NULL)
-    error (_("No frame selected"));
+  fi = get_selected_frame (_("No frame selected"));
 
   /* The following is generally ripped off from stack.c's routine 
      print_frame_info() */
@@ -735,10 +738,7 @@ there_is_a_visible_common_named (char *comname)
   if (comname == NULL)
     error (_("Cannot deal with NULL common name!"));
 
-  fi = deprecated_selected_frame;
-
-  if (fi == NULL)
-    error (_("No frame selected"));
+  fi = get_selected_frame (_("No frame selected"));
 
   /* The following is generally ripped off from stack.c's routine 
      print_frame_info() */
index 72417248a3770b5195ff505c37f912e7d1553087..09693888edcf042d3d78352094db3c54ed67592b 100644 (file)
@@ -378,7 +378,7 @@ symbol_read_needs_frame (struct symbol *sym)
    and a stack frame id, read the value of the variable
    and return a (pointer to a) struct value containing the value. 
    If the variable cannot be found, return a zero pointer.
-   If FRAME is NULL, use the deprecated_selected_frame.  */
+   If FRAME is NULL, use the selected frame.  */
 
 struct value *
 read_var_value (struct symbol *var, struct frame_info *frame)
index b32e0be112b0415505205c31e83dcddf06016605..e84371c4a4532a80b4bd2726e2bb586978749422 100644 (file)
@@ -935,7 +935,7 @@ get_current_frame (void)
 /* The "selected" stack frame is used by default for local and arg
    access.  May be zero, for no selected frame.  */
 
-struct frame_info *deprecated_selected_frame;
+static struct frame_info *selected_frame;
 
 /* Return the selected frame.  Always non-NULL (unless there isn't an
    inferior sufficient for creating a frame) in which case an error is
@@ -944,7 +944,7 @@ struct frame_info *deprecated_selected_frame;
 struct frame_info *
 get_selected_frame (const char *message)
 {
-  if (deprecated_selected_frame == NULL)
+  if (selected_frame == NULL)
     {
       if (message != NULL && (!target_has_registers
                              || !target_has_stack
@@ -956,8 +956,8 @@ get_selected_frame (const char *message)
       select_frame (get_current_frame ());
     }
   /* There is always a frame.  */
-  gdb_assert (deprecated_selected_frame != NULL);
-  return deprecated_selected_frame;
+  gdb_assert (selected_frame != NULL);
+  return selected_frame;
 }
 
 /* This is a variant of get_selected_frame() which can be called when
@@ -979,7 +979,7 @@ select_frame (struct frame_info *fi)
 {
   struct symtab *s;
 
-  deprecated_selected_frame = fi;
+  selected_frame = fi;
   /* NOTE: cagney/2002-05-04: FI can be NULL.  This occurs when the
      frame is being invalidated.  */
   if (deprecated_selected_frame_level_changed_hook)
index 473962274396cff8ac958d2e734653278b954969..bce43ed20647c54c58f1c17853fbfc511a9b7bbc 100644 (file)
@@ -665,10 +665,10 @@ extern void (*deprecated_selected_frame_level_changed_hook) (int);
 extern void return_command (char *, int);
 
 
-/* NOTE: cagney/2002-11-27:
+/* Notes (cagney/2002-11-27, drow/2003-09-06):
 
-   You might think that the below global can simply be replaced by a
-   call to either get_selected_frame() or select_frame().
+   You might think that calls to this function can simply be replaced by a
+   call to get_selected_frame().
 
    Unfortunately, it isn't that easy.
 
@@ -680,25 +680,17 @@ extern void return_command (char *, int);
    The only real exceptions occur at the edge (in the CLI code) where
    user commands need to pick up the selected frame before proceeding.
 
+   There are also some functions called with a NULL frame meaning either "the
+   program is not running" or "use the selected frame".
+
    This is important.  GDB is trying to stamp out the hack:
 
-   saved_frame = deprecated_selected_frame;
-   deprecated_selected_frame = ...;
+   saved_frame = deprecated_safe_get_selected_frame ();
+   select_frame (...);
    hack_using_global_selected_frame ();
-   deprecated_selected_frame = saved_frame;
-
-   Take care!  */
-
-extern struct frame_info *deprecated_selected_frame;
-
-/* NOTE: drow/2003-09-06:
+   select_frame (saved_frame);
 
-   This function is "a step sideways" for uses of deprecated_selected_frame.
-   They should be fixed as above, but meanwhile, we needed a solution for
-   cases where functions are called with a NULL frame meaning either "the
-   program is not running" or "use the selected frame".  Lazy building of
-   deprecated_selected_frame confuses the situation, because now
-   deprecated_selected_frame can be NULL even when the inferior is running.
+   Take care!
 
    This function calls get_selected_frame if the inferior should have a
    frame, or returns NULL otherwise.  */
index c47326ffd4306c24b4cd0ca700b86d8e72581d71..f3a61f25be046eb9f894175b34201322d4591332 100644 (file)
@@ -1295,10 +1295,8 @@ finish_command (char *arg, int from_tty)
     error (_("The \"finish\" command does not take any arguments."));
   if (!target_has_execution)
     error (_("The program is not running."));
-  if (deprecated_selected_frame == NULL)
-    error (_("No selected frame."));
 
-  frame = get_prev_frame (deprecated_selected_frame);
+  frame = get_prev_frame (get_selected_frame (_("No selected frame.")));
   if (frame == 0)
     error (_("\"finish\" not meaningful in the outermost frame."));
 
@@ -1316,7 +1314,7 @@ finish_command (char *arg, int from_tty)
 
   /* Find the function we will return from.  */
 
-  function = find_pc_function (get_frame_pc (deprecated_selected_frame));
+  function = find_pc_function (get_frame_pc (get_selected_frame (NULL)));
 
   /* Print info on the selected frame, including level number but not
      source.  */
@@ -1677,18 +1675,18 @@ default_print_registers_info (struct gdbarch *gdbarch,
 void
 registers_info (char *addr_exp, int fpregs)
 {
+  struct frame_info *frame;
   int regnum, numregs;
   char *end;
 
   if (!target_has_registers)
     error (_("The program has no registers now."));
-  if (deprecated_selected_frame == NULL)
-    error (_("No selected frame."));
+  frame = get_selected_frame (NULL);
 
   if (!addr_exp)
     {
       gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-                                   deprecated_selected_frame, -1, fpregs);
+                                   frame, -1, fpregs);
       return;
     }
 
@@ -1721,12 +1719,12 @@ registers_info (char *addr_exp, int fpregs)
 
       /* A register name?  */
       {
-       int regnum = frame_map_name_to_regnum (deprecated_selected_frame,
+       int regnum = frame_map_name_to_regnum (frame,
                                               start, end - start);
        if (regnum >= 0)
          {
            gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-                                         deprecated_selected_frame, regnum, fpregs);
+                                         frame, regnum, fpregs);
            continue;
          }
       }
@@ -1740,7 +1738,7 @@ registers_info (char *addr_exp, int fpregs)
            && regnum < NUM_REGS + NUM_PSEUDO_REGS)
          {
            gdbarch_print_registers_info (current_gdbarch, gdb_stdout,
-                                         deprecated_selected_frame, regnum, fpregs);
+                                         frame, regnum, fpregs);
            continue;
          }
       }
@@ -1766,7 +1764,7 @@ registers_info (char *addr_exp, int fpregs)
                if (gdbarch_register_reggroup_p (current_gdbarch, regnum,
                                                 group))
                  gdbarch_print_registers_info (current_gdbarch,
-                                               gdb_stdout, deprecated_selected_frame,
+                                               gdb_stdout, frame,
                                                regnum, fpregs);
              }
            continue;
@@ -1794,11 +1792,6 @@ static void
 print_vector_info (struct gdbarch *gdbarch, struct ui_file *file,
                   struct frame_info *frame, const char *args)
 {
-  if (!target_has_registers)
-    error (_("The program has no registers now."));
-  if (deprecated_selected_frame == NULL)
-    error (_("No selected frame."));
-
   if (gdbarch_print_vector_info_p (gdbarch))
     gdbarch_print_vector_info (gdbarch, file, frame, args);
   else
@@ -1822,7 +1815,11 @@ print_vector_info (struct gdbarch *gdbarch, struct ui_file *file,
 static void
 vector_info (char *args, int from_tty)
 {
-  print_vector_info (current_gdbarch, gdb_stdout, deprecated_selected_frame, args);
+  if (!target_has_registers)
+    error (_("The program has no registers now."));
+
+  print_vector_info (current_gdbarch, gdb_stdout,
+                    get_selected_frame (NULL), args);
 }
 \f
 
@@ -2012,11 +2009,6 @@ static void
 print_float_info (struct gdbarch *gdbarch, struct ui_file *file,
                  struct frame_info *frame, const char *args)
 {
-  if (!target_has_registers)
-    error (_("The program has no registers now."));
-  if (deprecated_selected_frame == NULL)
-    error (_("No selected frame."));
-
   if (gdbarch_print_float_info_p (gdbarch))
     gdbarch_print_float_info (gdbarch, file, frame, args);
   else
@@ -2041,8 +2033,11 @@ No floating-point info available for this processor.\n");
 static void
 float_info (char *args, int from_tty)
 {
+  if (!target_has_registers)
+    error (_("The program has no registers now."));
+
   print_float_info (current_gdbarch, gdb_stdout, 
-                   deprecated_selected_frame, args);
+                   get_selected_frame (NULL), args);
 }
 \f
 static void
index 9b002c69977be565657594c632711c1e457159ae..323e79f0221c5fb74fc574d1ffb9451264861adf 100644 (file)
@@ -588,10 +588,7 @@ kill_command (char *arg, int from_tty)
   if (target_has_stack)
     {
       printf_filtered (_("In %s,\n"), target_longname);
-      if (deprecated_selected_frame == NULL)
-       fputs_filtered ("No selected stack frame.\n", gdb_stdout);
-      else
-       print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
+      print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
     }
   bfd_cache_close_all ();
 }
index 1cdfadfa2d78d1e75d56c0cedf6ddc04b5b6d239..09467dbf5267bc174ad8aad604a0798543705acb 100644 (file)
@@ -3173,7 +3173,7 @@ Further execution is probably impossible.\n"));
          bpstat_print() contains the logic deciding in detail
          what to print, based on the event(s) that just occurred. */
 
-      if (stop_print_frame && deprecated_selected_frame)
+      if (stop_print_frame)
        {
          int bpstat_ret;
          int source_flag;
@@ -3692,7 +3692,7 @@ save_inferior_status (int restore_stack_info)
 
   inf_status->registers = regcache_dup (current_regcache);
 
-  inf_status->selected_frame_id = get_frame_id (deprecated_selected_frame);
+  inf_status->selected_frame_id = get_frame_id (get_selected_frame (NULL));
   return inf_status;
 }
 
index d90e075f49684ac758d36bc05f18d7755b6614a9..569a9e938914876c9ba2f71a3b834f4d8989d153 100644 (file)
@@ -84,17 +84,14 @@ default_macro_scope (void)
 {
   struct symtab_and_line sal;
   struct macro_scope *ms;
+  struct frame_info *frame;
 
-  /* If there's a selected frame, use its PC.  */ 
-  if (deprecated_selected_frame)
-    sal = find_pc_line (get_frame_pc (deprecated_selected_frame), 0);
+  /* If there's a selected frame, use its PC.  */
+  frame = deprecated_safe_get_selected_frame ();
+  if (frame)
+    sal = find_pc_line (get_frame_pc (frame), 0);
   
-  /* If the target has any registers at all, then use its PC.  Why we
-     would have registers but no stack, I'm not sure.  */
-  else if (target_has_registers)
-    sal = find_pc_line (read_pc (), 0);
-
-  /* If all else fails, fall back to the current listing position.  */
+  /* Fall back to the current listing position.  */
   else
     {
       /* Don't call select_source_symtab here.  That can raise an
index 2b73bd76e2e55e1d7ede4e30deb34712b51b55a4..6ba5a45e57bde9c2934b6c2c448b2ef07c4cdf61 100644 (file)
@@ -509,7 +509,7 @@ write_dollar_variable (struct stoken str)
 
   /* Handle tokens that refer to machine registers:
      $ followed by a register name.  */
-  i = frame_map_name_to_regnum (deprecated_selected_frame,
+  i = frame_map_name_to_regnum (deprecated_safe_get_selected_frame (),
                                str.ptr + 1, str.length - 1);
   if (i >= 0)
     goto handle_register;
index c6ce2e3ff70e4ca4a1adbd55d285fc12597adec7..fc24559e4dd191940ce954ed620d7a393433e8f3 100644 (file)
@@ -163,7 +163,7 @@ extern void regcache_cpy_no_passthrough (struct regcache *dest, struct regcache
    simple substitution is required when updating the code.  The
    change, as far as practical, should avoid adding references to
    global variables (e.g., current_regcache, current_frame,
-   current_gdbarch or deprecated_selected_frame) and instead refer to
+   current_gdbarch or the selected frame) and instead refer to
    the FRAME or REGCACHE that has been passed into the containing
    function as parameters.  Consequently, the change typically
    involves modifying the containing function so that it takes a FRAME
index dbab7c007311c2f429c25cdc08069d4d4acbdee1..25eb8932d6a0810233d6b969943673e8492e28ce 100644 (file)
@@ -1408,8 +1408,7 @@ sh64_show_compact_regs (void)
 void
 sh64_show_regs (void)
 {
-  if (deprecated_selected_frame
-      && pc_is_isa32 (get_frame_pc (deprecated_selected_frame)))
+  if (pc_is_isa32 (get_frame_pc (get_selected_frame (NULL))))
     sh64_show_media_regs ();
   else
     sh64_show_compact_regs ();
index 512691163d634b0a3b613080ca9ee93cb24e25cb..0267d0b660f6002fdef9b2521b1c0c35ada4ea48 100644 (file)
@@ -1592,24 +1592,7 @@ get_selected_block (CORE_ADDR *addr_in_block)
   if (!target_has_stack)
     return 0;
 
-  /* NOTE: cagney/2002-11-28: Why go to all this effort to not create
-     a selected/current frame?  Perhaps this function is called,
-     indirectly, by WFI in "infrun.c" where avoiding the creation of
-     an inner most frame is very important (it slows down single
-     step).  I suspect, though that this was true in the deep dark
-     past but is no longer the case.  A mindless look at all the
-     callers tends to support this theory.  I think we should be able
-     to assume that there is always a selcted frame.  */
-  /* gdb_assert (deprecated_selected_frame != NULL); So, do you feel
-     lucky? */
-  if (!deprecated_selected_frame)
-    {
-      CORE_ADDR pc = read_pc ();
-      if (addr_in_block != NULL)
-       *addr_in_block = pc;
-      return block_for_pc (pc);
-    }
-  return get_frame_block (deprecated_selected_frame, addr_in_block);
+  return get_frame_block (get_selected_frame (NULL), addr_in_block);
 }
 
 /* Find a frame a certain number of levels away from FRAME.
@@ -1933,7 +1916,7 @@ func_command (char *arg, int from_tty)
 
   if (!found)
     printf_filtered (_("'%s' not within current stack frame.\n"), arg);
-  else if (frame != deprecated_selected_frame)
+  else if (frame != get_selected_frame (NULL))
     select_and_print_frame (frame);
 }
 
@@ -1942,7 +1925,7 @@ func_command (char *arg, int from_tty)
 enum language
 get_frame_language (void)
 {
-  struct frame_info *frame = deprecated_selected_frame;
+  struct frame_info *frame = deprecated_safe_get_selected_frame ();
 
   if (frame)
     {
index 3fce663fb8f01e7c39cb4b22c86b2f375bfd0106..e7bf2d13758ca1feeeea7f6db4673f7d803da8af 100644 (file)
@@ -386,7 +386,7 @@ tui_vertical_disassem_scroll (enum tui_scroll_direction scroll_direction,
 
       content = (tui_win_content) TUI_DISASM_WIN->generic.content;
       if (cursal.symtab == (struct symtab *) NULL)
-       s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+       s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
       else
        s = cursal.symtab;
 
index 2e1f1f1991b009dd53d115b7a11dbfb4339829dc..f40c528d98f5082c38be4d7324bd030220128258 100644 (file)
@@ -132,8 +132,8 @@ tui_registers_changed_hook (void)
 {
   struct frame_info *fi;
 
-  fi = deprecated_selected_frame;
-  if (fi && tui_refreshing_registers == 0)
+  fi = get_selected_frame (NULL);
+  if (tui_refreshing_registers == 0)
     {
       tui_refreshing_registers = 1;
 #if 0
@@ -148,8 +148,8 @@ tui_register_changed_hook (int regno)
 {
   struct frame_info *fi;
 
-  fi = deprecated_selected_frame;
-  if (fi && tui_refreshing_registers == 0)
+  fi = get_selected_frame (NULL);
+  if (tui_refreshing_registers == 0)
     {
       tui_refreshing_registers = 1;
       tui_check_data_values (fi);
@@ -230,7 +230,7 @@ tui_selected_frame_level_changed_hook (int level)
 {
   struct frame_info *fi;
 
-  fi = deprecated_selected_frame;
+  fi = get_selected_frame (NULL);
   /* Ensure that symbols for this frame are read in.  Also, determine the
      source language of this frame, and switch to it if desired.  */
   if (fi)
@@ -264,7 +264,7 @@ tui_print_frame_info_listing_hook (struct symtab *s, int line,
                                    int stopline, int noerror)
 {
   select_source_symtab (s);
-  tui_show_frame_info (deprecated_selected_frame);
+  tui_show_frame_info (get_selected_frame (NULL));
 }
 
 /* Called when the target process died or is detached.
index 385ea9127e36cc92c3873617f2088cee254a7fdd..89f024e06301b63fc5e2816b02d843587de5bf75 100644 (file)
@@ -338,7 +338,7 @@ tui_vertical_source_scroll (enum tui_scroll_direction scroll_direction,
       struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
       if (cursal.symtab == (struct symtab *) NULL)
-       s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+       s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
       else
        s = cursal.symtab;
 
index 2ed1920e0fbca362fb7242effa7428ccb1a59495..9b858336946ae4d8dc5b8be258e4529b96124e1e 100644 (file)
@@ -1328,13 +1328,13 @@ make_visible_with_new_height (struct tui_win_info * win_info)
          tui_free_win_content (&win_info->generic);
          tui_update_source_window (win_info, cursal.symtab, line_or_addr, TRUE);
        }
-      else if (deprecated_selected_frame != (struct frame_info *) NULL)
+      else if (deprecated_safe_get_selected_frame () != NULL)
        {
          struct tui_line_or_address line;
          struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+         struct frame_info *frame = deprecated_safe_get_selected_frame ();
 
-
-         s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+         s = find_pc_symtab (get_frame_pc (frame));
          if (win_info->generic.type == SRC_WIN)
            {
              line.loa = LOA_LINE;
index 36f46b538af4db6c04605280a341a20e184607fa..443100197b342a53a832ab6b56db84cf160f6346 100644 (file)
@@ -314,7 +314,7 @@ tui_horizontal_source_scroll (struct tui_win_info * win_info,
       struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
       if (cursal.symtab == (struct symtab *) NULL)
-       s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
+       s = find_pc_symtab (get_frame_pc (get_selected_frame (NULL)));
       else
        s = cursal.symtab;
 
index 84df8326a33f6941295d88750af532de87e85fd4..a552f42533a9a29e36d2dbb43762f57f1579ab99 100644 (file)
@@ -408,8 +408,8 @@ tui_enable (void)
   tui_setup_io (1);
 
   tui_active = 1;
-  if (deprecated_selected_frame)
-     tui_show_frame_info (deprecated_selected_frame);
+  if (deprecated_safe_get_selected_frame ())
+     tui_show_frame_info (deprecated_safe_get_selected_frame ());
 
   /* Restore TUI keymap.  */
   tui_set_key_mode (tui_current_key_mode);
index 51304be70cfc9c3aa967d7d9052ec3382bef42de..d7ecb2a32c621188fa6d417aa76be67f98723476 100644 (file)
@@ -578,7 +578,7 @@ value_assign (struct value *toval, struct value *fromval)
   /* Since modifying a register can trash the frame chain, and modifying memory
      can trash the frame cache, we save the old frame and then restore the new
      frame afterwards.  */
-  old_frame = get_frame_id (deprecated_selected_frame);
+  old_frame = get_frame_id (deprecated_safe_get_selected_frame ());
 
   switch (VALUE_LVAL (toval))
     {
@@ -2667,16 +2667,18 @@ value_of_local (const char *name, int complain)
   struct symbol *func, *sym;
   struct block *b;
   struct value * ret;
+  struct frame_info *frame;
 
-  if (deprecated_selected_frame == 0)
+  if (complain)
+    frame = get_selected_frame (_("no frame selected"));
+  else
     {
-      if (complain)
-       error (_("no frame selected"));
-      else
+      frame = deprecated_safe_get_selected_frame ();
+      if (frame == 0)
        return 0;
     }
 
-  func = get_frame_function (deprecated_selected_frame);
+  func = get_frame_function (frame);
   if (!func)
     {
       if (complain)
@@ -2705,7 +2707,7 @@ value_of_local (const char *name, int complain)
        return NULL;
     }
 
-  ret = read_var_value (sym, deprecated_selected_frame);
+  ret = read_var_value (sym, frame);
   if (ret == 0 && complain)
     error (_("`%s' argument unreadable"), name);
   return ret;
index 21d83370bea3a215fa4634112cf30fe001e1c4ff..a2fd1c8bbd356d8ef1ed189b040f404bd2617365 100644 (file)
@@ -440,7 +440,7 @@ varobj_create (char *objname,
 
       /* Allow creator to specify context of variable */
       if ((type == USE_CURRENT_FRAME) || (type == USE_SELECTED_FRAME))
-       fi = deprecated_selected_frame;
+       fi = deprecated_safe_get_selected_frame ();
       else
        /* FIXME: cagney/2002-11-23: This code should be doing a
           lookup using the frame ID and not just the frame's
@@ -487,7 +487,7 @@ varobj_create (char *objname,
       if (fi != NULL)
        {
          var->root->frame = get_frame_id (fi);
-         old_fi = deprecated_selected_frame;
+         old_fi = get_selected_frame (NULL);
          select_frame (fi);
        }
 
@@ -1064,7 +1064,7 @@ varobj_update (struct varobj **varp, struct varobj ***changelist)
 
   /* Save the selected stack frame, since we will need to change it
      in order to evaluate expressions.  */
-  old_fid = get_frame_id (deprecated_selected_frame);
+  old_fid = get_frame_id (deprecated_safe_get_selected_frame ());
 
   /* Update the root variable. value_of_root can return NULL
      if the variable is no longer around, i.e. we stepped out of