From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23894 invoked by alias); 9 Sep 2009 18:04:13 -0000 Received: (qmail 23646 invoked by uid 22791); 9 Sep 2009 18:04:09 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_37 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 09 Sep 2009 18:04:05 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 4F0E92BABA7 for ; Wed, 9 Sep 2009 14:04:03 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id VdixJAa5miSa for ; Wed, 9 Sep 2009 14:04:03 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 09C502BAB95 for ; Wed, 9 Sep 2009 14:04:03 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 00CBFF589B; Wed, 9 Sep 2009 11:03:55 -0700 (PDT) Date: Wed, 09 Sep 2009 18:04:00 -0000 From: Joel Brobecker To: gdb-patches@sourceware.org Subject: PING: [RFA/doco] document "set/show interactive-mode" Message-ID: <20090909180355.GE20694@adacore.com> References: <20090623181341.GK5085@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090623181341.GK5085@adacore.com> User-Agent: Mutt/1.5.18 (2008-05-17) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-09/txt/msg00254.txt.bz2 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 > > * 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 > 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