From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25257 invoked by alias); 4 Oct 2012 17:21:40 -0000 Received: (qmail 25240 invoked by uid 22791); 4 Oct 2012 17:21:36 -0000 X-SWARE-Spam-Status: No, hits=-6.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-gg0-f201.google.com (HELO mail-gg0-f201.google.com) (209.85.161.201) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 04 Oct 2012 17:21:27 +0000 Received: by mail-gg0-f201.google.com with SMTP id i24so68071ggk.0 for ; Thu, 04 Oct 2012 10:21:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:content-type:content-transfer-encoding:message-id:date :to:cc:subject:in-reply-to:references:x-mailer:from :x-gm-message-state; bh=96Fdk0dxQ+qaGWzSHO3B+IH2vOjDCRBwZBgdJr3sVxU=; b=cOAfM9aKvwPk9pQ8+/4O7V/hpc0dWUTlA/QX4UKMETFt22lFOH9MLD9vR1ZoAtnVtb iCahxXtjfg8E4WWl8LSiNz2LLiDR852W0n6EVyBJs3OuZxXG4rtRubxLiGNKeKWBDDMM QZOFJLUm0V/zjJLOfDHdU8vF5DwK4uqPVFy5JUjKBNS7zDloz/7VT0pMuUyShciZSqbh tMN/ys8vA2yPZI1QxZSagdZdgzpYRp90hPkNq5395ML7tjJJq90r1aayh7cgI+rEcCPW tT6RNVPBSKOOcDPOvsOlk8KOD2rR6R67/7I9Pw92qdM2LAw1bQha5Q+U53r2qMnaT5Pp A1/A== Received: by 10.101.83.5 with SMTP id k5mr1052527anl.22.1349371287160; Thu, 04 Oct 2012 10:21:27 -0700 (PDT) Received: from wpzn4.hot.corp.google.com (216-239-44-65.google.com [216.239.44.65]) by gmr-mx.google.com with ESMTPS id c61si1754985yhm.3.2012.10.04.10.21.27 (version=TLSv1/SSLv3 cipher=AES128-SHA); Thu, 04 Oct 2012 10:21:27 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com (ruffy2.mtv.corp.google.com [172.18.110.129]) by wpzn4.hot.corp.google.com (Postfix) with ESMTP id 8292D1E0043; Thu, 4 Oct 2012 10:21:26 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <20589.50581.949799.342799@ruffy2.mtv.corp.google.com> Date: Thu, 04 Oct 2012 17:21:00 -0000 To: eliz@gnu.org, Sergio Durigan Junior Cc: gdb-patches@sourceware.org, Subject: Re: [doc RFA] New option -nh In-Reply-To: References: From: dje@google.com X-Gm-Message-State: ALoCoQmNK36SaUdM96ry62WdVHjn3NKcc5BtO9xJ2jUWxxKNXsPII6hehO1o3lj5h1UYyr3rpu+5p0Jsk/RJPRs2yCsj5BeZh4Xm5jzu/trZFEjAl56C2Yy4+e6L4UrgXwxsVp74253lLjRgIP5MgG+owdVCzPB+Fwf/hURL8zEEwwOxXaNwAAI8yW79TFOBEeH6ldD1NxA6IIcUXu1NuUuNDZ1nKSaDsA== X-IsSubscribed: yes 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: 2012-10/txt/msg00086.txt.bz2 Eli Zaretskii writes: > > +* New command line options: > > + > > +-nh Like -nx, but only disable auto-loading of ~/.gdbinit. > > I'd suggest to mention in parentheses what -nx does that -nh doesn't. This is a just NEWS item. Adding all that extra text worsens the S/N ratio IMO. > > +@anchor{-nh} > > +@item -nh > > +@cindex @code{--nh} > > +Do not execute commands found in @file{~/.gdbinit}, the init file > > +in your home directory. > > +@xref{Startup}. > > Likewise here. The previous paragraph, that describes -nx, says: > > @itemx -n > @cindex @code{--nx} > @cindex @code{-n} > Do not execute commands found in any initialization files. Normally, > @value{GDBN} executes the commands in these files after all the command > options and arguments have been processed. @xref{Command Files,,Command > Files}. > > There's almost nothing in common between this verbiage and what you > suggested for -nh. The reader will have hard time figuring out that > -nh does a subset of what -nx does. > > I see 2 possible ways to make the relations between these 2 switches > clear (and I'm okay with either one of them): > > . rewrite the -nx documentation to explicitly mention ~/.gdbinit, > site-wide gdbinit etc., in the same style as you described -nh; > then you can leave the -nh description alone, or > > . Add a sentence to your -nh description which says something like > "Unlike @code{--nx}, ..." and go on to describe what -nx does, but > -nh does not. Sergio Durigan Junior writes: > Do you intend to patch gdb/gdb.1 (manpage)? I know it is really > outdated compared to the info page, but it exists and people use it, so > I would vote for documenting this new option there as well. How about this? 2012-10-04 Doug Evans New option -nh: inhibit loading of ~/.gdbinit. * NEWS: Mention -nh. * main.c (captured_main): Recognize and process -nh. (print_gdb_help): Mention -nh. * gdb.1: Mention -nh. Remove erroneous docs on -nx behavior. doc/ * gdb.texinfo (Mode Options): Document -nh. Elaborate on docs for -nx. Index: NEWS =================================================================== RCS file: /cvs/src/src/gdb/NEWS,v retrieving revision 1.546 diff -u -p -r1.546 NEWS --- NEWS 21 Sep 2012 01:46:42 -0000 1.546 +++ NEWS 4 Oct 2012 17:10:59 -0000 @@ -3,6 +3,10 @@ *** Changes since GDB 7.5 +* New command line options: + +-nh Like -nx, but only disable auto-loading of ~/.gdbinit. + * Python scripting ** Vectors can be created with gdb.Type.vector. Index: gdb.1 =================================================================== RCS file: /cvs/src/src/gdb/gdb.1,v retrieving revision 1.9 diff -u -p -r1.9 gdb.1 --- gdb.1 14 Sep 2012 12:10:23 -0000 1.9 +++ gdb.1 4 Oct 2012 17:10:59 -0000 @@ -9,6 +9,7 @@ gdb \- The GNU Debugger .TP .B gdb .RB "[\|" \-help "\|]" +.RB "[\|" \-nh "\|]" .RB "[\|" \-nx "\|]" .RB "[\|" \-q "\|]" .RB "[\|" \-batch "\|]" @@ -283,14 +284,16 @@ Add \c .PP .TP +.B \-nh +Do not execute commands from ~/.gdbinit. + +.TP .B \-nx .TP .B \-n Do not execute commands from any `\|\c .B .gdbinit\c \&\|' initialization files. -Normally, the commands in these files are executed after all the -command options and arguments have been processed. .TP Index: main.c =================================================================== RCS file: /cvs/src/src/gdb/main.c,v retrieving revision 1.113 diff -u -p -r1.113 main.c --- main.c 29 Aug 2012 19:17:16 -0000 1.113 +++ main.c 4 Oct 2012 17:10:59 -0000 @@ -273,6 +273,7 @@ captured_main (void *data) char **argv = context->argv; static int quiet = 0; static int set_args = 0; + static int inhibit_home_gdbinit = 0; /* Pointers to various arguments from command line. */ char *symarg = NULL; @@ -415,6 +416,7 @@ captured_main (void *data) {"quiet", no_argument, &quiet, 1}, {"q", no_argument, &quiet, 1}, {"silent", no_argument, &quiet, 1}, + {"nh", no_argument, &inhibit_home_gdbinit, 1}, {"nx", no_argument, &inhibit_gdbinit, 1}, {"n", no_argument, &inhibit_gdbinit, 1}, {"batch-silent", no_argument, 0, 'B'}, @@ -845,7 +847,7 @@ captured_main (void *data) global parameters, which are independent of what file you are debugging or what directory you are in. */ - if (home_gdbinit && !inhibit_gdbinit) + if (home_gdbinit && !inhibit_gdbinit && !inhibit_home_gdbinit) catch_command_errors (source_script, home_gdbinit, 0, RETURN_MASK_ALL); /* Process '-ix' and '-iex' options early. */ @@ -1066,9 +1068,12 @@ Options:\n\n\ fputs_unfiltered (_("\ -l TIMEOUT Set timeout in seconds for remote debugging.\n\ --nw Do not use a window interface.\n\ - --nx Do not read "), stream); + --nx Do not read any "), stream); fputs_unfiltered (gdbinit, stream); - fputs_unfiltered (_(" file.\n\ + fputs_unfiltered (_(" files.\n\ + --nh Do not read "), stream); + fputs_unfiltered (gdbinit, stream); + fputs_unfiltered (_(" file from home directory.\n\ --quiet Do not print version number on startup.\n\ --readnow Fully read symbol files on first access.\n\ "), stream); Index: doc/gdb.texinfo =================================================================== RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v retrieving revision 1.1012 diff -u -p -r1.1012 gdb.texinfo --- doc/gdb.texinfo 21 Sep 2012 01:46:42 -0000 1.1012 +++ doc/gdb.texinfo 4 Oct 2012 17:11:00 -0000 @@ -1043,10 +1043,37 @@ batch mode or quiet mode. @itemx -n @cindex @code{--nx} @cindex @code{-n} -Do not execute commands found in any initialization files. Normally, -@value{GDBN} executes the commands in these files after all the command -options and arguments have been processed. @xref{Command Files,,Command -Files}. +Do not execute commands found in any initialization file. +There are three init files, loaded in the following order: + +@table @code +@item @file{system.gdbinit} +This is the system-wide init file. +Its location is specified with the @code{--with-system-gdbinit} +configure option (@pxref{System-wide configuration}). +It is loaded first when gdb starts, before command line options +have been processed. +@item @file{~/.gdbinit} +This is the init file in your home directory. +It is loaded next, after @file{system.gdbinit}, and before +command options have been processed. +@item @file{./.gdbinit} +This is the init file in the current directory. +It is loaded last, after command line options other than @code{-x} and +@code{-ex} have been processed. Command line options @code{-x} and +@code{-ex} are processed last, after @file{./.gdbinit} has been loaded. +@end table + +For further documentation on startup processing, @xref{Startup}. +For documentation on how to write command files, +@xref{Command Files,,Command Files}. + +@anchor{-nh} +@item -nh +@cindex @code{--nh} +Do not execute commands found in @file{~/.gdbinit}, the init file +in your home directory. +@xref{Startup}. @item -quiet @itemx -silent