[PATCH] -stack-info-frames

Nick Roberts nickrob@snap.net.nz
Sat Jun 18 03:16:00 GMT 2005


 > > How about the rest of the patch:
 > > 
 > > 	(mi_cmd_stack_list_frames, mi_cmd_stack_info_depth):
 > > 	Don't test for stack.
 > > 	(mi_cmd_stack_select_frame): Do not allow an argument.
 > > 	Don't test for stack.
 > 
 > OK (except the changelog is wrong - it's Require an argument, not Do
 > not allow, right?).

Yes.  Committed.

 > A nice followup if you're feeling inspired would be to remove the traces
 > of -stack-info-frame from both gdb/mi/ and the manual, since it really
 > does not sound useful at this point.

OK.  I've committed this as obvious (?).

 > Not sure what we could add to the docs.  This is what's there:
 >   If invoked without arguments, this command prints a backtrace for the
 > whole stack.  If given two integer arguments, it shows the frames whose
 > levels are between the two arguments (inclusive).  If the two arguments
 > are equal, it shows the single frame at the corresponding level.

I guess that just proves I didn't read the manual properly.

Nick


2005-06-18  Nick Roberts  <nickrob@snap.net.nz>

	* mi/mi-cmds.c (mi_cmds): Remove entry for -stack-info-frame.

	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
	(mi_cmd_stack_info_depth): Don't test for stack.
	(mi_cmd_stack_select_frame): Make the argument mandatory.
	Don't test for stack.

	* gdb.texinfo (GDB/MI Stack Manipulation): Remove reference to
	-stack-info-frame.


*** /home/nick/src/gdb/mi/mi-cmds.c.~1.16~	2005-06-18 14:58:00.000000000 +1200
--- /home/nick/src/gdb/mi/mi-cmds.c	2005-06-18 14:44:50.000000000 +1200
***************
*** 107,113 ****
    { "signal-list-handle-actions", { NULL, 0 }, NULL, NULL },
    { "signal-list-signal-types", { NULL, 0 }, NULL, NULL },
    { "stack-info-depth", { NULL, 0 }, 0, mi_cmd_stack_info_depth},
-   { "stack-info-frame", { NULL, 0 }, NULL, NULL },
    { "stack-list-arguments", { NULL, 0 }, 0, mi_cmd_stack_list_args},
    { "stack-list-exception-handlers", { NULL, 0 }, NULL, NULL },
    { "stack-list-frames", { NULL, 0 }, 0, mi_cmd_stack_list_frames},
--- 107,112 ----


*** /home/nick/src/gdb/mi/mi-cmd-stack.c.~1.25~	2005-06-18 14:57:26.000000000 +1200
--- /home/nick/src/gdb/mi/mi-cmd-stack.c	2005-06-18 14:31:45.000000000 +1200
***************
*** 47,55 ****
    struct cleanup *cleanup_stack;
    struct frame_info *fi;
  
-   if (!target_has_stack)
-     error (_("mi_cmd_stack_list_frames: No stack."));
- 
    if (argc > 2 || argc == 1)
      error (_("mi_cmd_stack_list_frames: Usage: [FRAME_LOW FRAME_HIGH]"));
  
--- 47,52 ----
***************
*** 104,112 ****
    int i;
    struct frame_info *fi;
  
-   if (!target_has_stack)
-     error (_("mi_cmd_stack_info_depth: No stack."));
- 
    if (argc > 1)
      error (_("mi_cmd_stack_info_depth: Usage: [MAX_DEPTH]"));
  
--- 101,106 ----
***************
*** 329,344 ****
  enum mi_cmd_result
  mi_cmd_stack_select_frame (char *command, char **argv, int argc)
  {
!   if (!target_has_stack)
!     error (_("mi_cmd_stack_select_frame: No stack."));
  
!   if (argc > 1)
!     error (_("mi_cmd_stack_select_frame: Usage: [FRAME_SPEC]"));
! 
!   /* with no args, don't change frame */
!   if (argc == 0)
!     select_frame_command (0, 1 /* not used */ );
!   else
!     select_frame_command (argv[0], 1 /* not used */ );
    return MI_CMD_DONE;
  }
--- 323,331 ----
  enum mi_cmd_result
  mi_cmd_stack_select_frame (char *command, char **argv, int argc)
  {
!   if (argc == 0 || argc > 1)
!     error (_("mi_cmd_stack_select_frame: Usage: FRAME_SPEC"));
  
!   select_frame_command (argv[0], 1 /* not used */ );
    return MI_CMD_DONE;
  }


*** /home/nick/src/gdb/doc/gdb.texinfo.~1.261~	2005-06-18 15:04:56.000000000 +1200
--- /home/nick/src/gdb/doc/gdb.texinfo	2005-06-18 14:44:18.000000000 +1200
***************
*** 19187,19212 ****
  @node GDB/MI Stack Manipulation
  @section @sc{gdb/mi} Stack Manipulation Commands
  
- 
- @subheading The @code{-stack-info-frame} Command
- @findex -stack-info-frame
- 
- @subsubheading Synopsis
- 
- @smallexample
-  -stack-info-frame
- @end smallexample
- 
- Get info on the current frame.
- 
- @subsubheading @value{GDBN} Command
- 
- The corresponding @value{GDBN} command is @samp{info frame} or @samp{frame}
- (without arguments).
- 
- @subsubheading Example
- N.A.
- 
  @subheading The @code{-stack-info-depth} Command
  @findex -stack-info-depth
  
--- 19187,19192 ----



More information about the Gdb-patches mailing list