This is the mail archive of the gdb-patches@sourceware.org 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]

PING: [RFA/doco] document "set/show interactive-mode"


Looks like this one fell through the cracks. Eli, what do you think?

Thanks!

On Tue, Jun 23, 2009 at 11:13:41AM -0700, Joel Brobecker wrote:
> Eli,
> 
> Here is a documentation update for the patch suggested at:
> http://www.sourceware.org/ml/gdb-patches/2009-06/msg00403.html
> 
> The patch just adds a setting that allows the user to override
> the guessing that GDB does in order to determine whether it should
> run in interactive or non-interactive mode.
> 
> I'm also attaching the code patch, in case you have some comments
> about the option and its help documentation itself.
> 
> 2009-06-23  Joel Brobecker  <brobecker@adacore.com>
> 
>         * gdb.texinfo (Other Misc Settings): New node.
> 
> I tried to find a good place for it, but nothing really seemed
> appropriate.  Peharps if we renamed the "Screen Size" section
> to be a little more generic, we could put our new option there.
> But it seemed a little artificial, and might make finding these
> screen-size related option a little harder to find.  Since the latter
> will probably be much more widely used, I didn't think it was the
> best thing to do.  Hence the new "misc" section.
> 
> OK to apply?
> 
> Thanks,
> -- 
> Joel

> commit 1c0d02ae504f32e2728723f62d6b1c290c9c12b0
> Author: Joel Brobecker <brobecker@adacore.com>
> Date:   Tue Jun 23 10:32:56 2009 -0700
> 
>     Add documentation for set/show interactive-mode.
>     
>         * gdb.texinfo (Other Misc Settings): New node.
> 
> diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
> index 94852ec..f8e77e0 100644
> --- a/gdb/doc/gdb.texinfo
> +++ b/gdb/doc/gdb.texinfo
> @@ -17392,6 +17392,7 @@ described here.
>  * ABI::                         Configuring the current ABI
>  * Messages/Warnings::           Optional warnings and messages
>  * Debugging Output::            Optional messages about internal happenings
> +* Other Misc Settings::         Other Miscellaneous Settings
>  @end menu
>  
>  @node Prompt
> @@ -18021,6 +18022,28 @@ Turns on or off debugging messages for built-in XML parsers.
>  Displays the current state of XML debugging messages.
>  @end table
>  
> +@node Other Misc Settings
> +@section Other Miscellaneous Settings
> +@cindex Miscellaneous Settings
> +
> +@table @code
> +@kindex set interactive-mode
> +@item set interactive-mode
> +If @code{on}, forces @value{GDBN} to operate interactively.
> +If @code{off}, forces @value{GDBN} to operate non-interactively,
> +If @code{auto} (the default), @value{GDBN} guesses which mode to use,
> +based on whether the debugger was started in a terminal or not.
> +
> +In the vast majority of cases, the debugger should be able to guess
> +correctly which mode should be used.  But this setting can be useful
> +in certain specific cases, such as running a MinGW @value{GDBN}
> +inside a cygwin window.
> +
> +@kindex show interactive-mode
> +@item show interactive-mode
> +Displays whether the debugger is operating in interactive mode or not.
> +@end table
> +
>  @node Extending GDB
>  @chapter Extending @value{GDBN}
>  @cindex extending GDB

> Index: top.c
> ===================================================================
> --- top.c	(.../branches/gdb/FSF/current/gdb/top.c)	(revision 149871)
> +++ top.c	(.../trunk/gdb/gdb-head/gdb/top.c)	(revision 149871)
> @@ -1288,12 +1308,38 @@ quit_force (char *args, int from_tty)
>    exit (exit_code);
>  }
>  
> +/* If OFF, the debugger will run in non-interactive mode, which means
> +   that it will automatically select the default answer to all the
> +   queries made to the user.  If ON, gdb will wait for the user to
> +   answer all queries.  If AUTO, gdb will determine whether to run
> +   in interactive mode or not depending on whether stdin is a terminal
> +   or not.  */
> +static enum auto_boolean interactive_mode = AUTO_BOOLEAN_AUTO;
> +
> +/* Implement the "show interactive-mode" option.  */
> +
> +static void
> +show_interactive_mode (struct ui_file *file, int from_tty,
> +                       struct cmd_list_element *c,
> +                       const char *value)
> +{
> +  if (interactive_mode == AUTO_BOOLEAN_AUTO)
> +    fprintf_filtered (file, "\
> +Debugger's interactive mode is %s (currently %s).\n",
> +                      value, input_from_terminal_p () ? "on" : "off");
> +  else
> +    fprintf_filtered (file, "Debugger's interactive mode is %s.\n", value);
> +}
> +
>  /* Returns whether GDB is running on a terminal and input is
>     currently coming from that terminal.  */
>  
>  int
>  input_from_terminal_p (void)
>  {
> +  if (interactive_mode != AUTO_BOOLEAN_AUTO)
> +    return interactive_mode == AUTO_BOOLEAN_TRUE;
> +
>    if (gdb_has_a_terminal () && instream == stdin)
>      return 1;
>  
> @@ -1625,6 +1675,19 @@ Use \"on\" to enable the notification, a
>  			   show_exec_done_display_p,
>  			   &setlist, &showlist);
>  
> +  add_setshow_auto_boolean_cmd ("interactive-mode", class_support,
> +                                &interactive_mode, _("\
> +Set whether gdb should run in interactive mode or not"), _("\
> +Show whether gdb runs in interactive mode"), _("\
> +If on, gdb runs in interactive mode and waits for the user to answer\n\
> +all its queries.  If off, gdb runs in non-interactive mode and\n\
> +automatically assumes the default answer to all its queries.  If auto\n\
> +(which is the default), automatically determine which mode to use based\n\
> +on the standard input settings"),
> +                        NULL,
> +                        show_interactive_mode,
> +                        &setlist, &showlist);
> +
>    add_setshow_filename_cmd ("data-directory", class_maintenance,
>                             &gdb_datadir, _("Set GDB's data directory."),
>                             _("Show GDB's data directory."),


-- 
Joel


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