From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 51543 invoked by alias); 2 Jul 2018 20:46:06 -0000 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 Received: (qmail 51297 invoked by uid 89); 2 Jul 2018 20:45:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-13.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,GIT_PATCH_2,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=Acquisition, deemed, eli, precise X-HELO: mailsec104.isp.belgacom.be Received: from mailsec104.isp.belgacom.be (HELO mailsec104.isp.belgacom.be) (195.238.20.100) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 02 Jul 2018 20:45:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skynet.be; i=@skynet.be; q=dns/txt; s=securemail; t=1530564330; x=1562100330; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=4YE6n4GuQlmggLtOm8XWg61/ditz2trhzhPfZeflD4o=; b=FF2zxu6Zu8OX4C4gj5o0QG83RmTd7b5P4Hg0CSSAe5+8HTHFO8Uwd+HH QZGYTkJGBOFpT5XDlr+noCOOH2cE5A==; Received: from 224.41-64-87.adsl-dyn.isp.belgacom.be (HELO md) ([87.64.41.224]) by relay.skynet.be with ESMTP/TLS/AES256-GCM-SHA384; 02 Jul 2018 22:45:28 +0200 Message-ID: <1530564328.29413.8.camel@skynet.be> Subject: Re: [RFC 4/5] Document changes to info [args|functions|locals|variables] From: Philippe Waroquiers To: Eli Zaretskii Cc: gdb-patches@sourceware.org Date: Mon, 02 Jul 2018 20:46:00 -0000 In-Reply-To: <8336x1llzk.fsf@gnu.org> References: <20180701210734.3793-1-philippe.waroquiers@skynet.be> <20180701210734.3793-5-philippe.waroquiers@skynet.be> <8336x1llzk.fsf@gnu.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-07/txt/msg00032.txt.bz2 On Mon, 2018-07-02 at 18:02 +0300, Eli Zaretskii wrote: Thanks for your comments. Find some feedback below (no feedback means the comment was handled as you suggested). I will resubmit the whole doc for review for the first RFA, handling your additional comments on the below, if you have some. > > From: Philippe Waroquiers > > Cc: Philippe Waroquiers > > Date: Sun, 1 Jul 2018 23:07:33 +0200 > > > > Document changes to info [args|functions|locals|variables] > > Thanks, I have a few comments: > > > gdb/doc/gdb.texinfo | 98 ++++++++++++++++++++++++++++++++++++++++----- > > 1 file changed, 88 insertions(+), 10 deletions(-) > > Please provide a ChangeLog entry for gdb/doc/ChangeLog. Will do for the RFA. > Is there any significance in "contain a match" vs just "match" above? > If not, I suggest to use the same wording. Yes, I think that 'contain a match' is the precise condition verified. Here is the (full) doc for the 'info locals', where I have reworded the explanation. The other commands have been changed in the same way. @item info locals @kindex info locals [-q] Print the local variables of the selected frame, each on a separate line.  These are all variables (declared either static or automatic) accessible at the point of execution of the selected frame. The optional flag @samp{-q}, which stands for @samp{quiet}, disables printing header information and messages explaining why no local variables have been printed. @item info locals [-q] [-t @var{type_regexp}] [@var{regexp}] Like @kbd{info locals}, but only print the local variables selected with the provided regexp(s). If @var{regexp} is provided, print only the local variables whose names contain a match for regular expression @var{regexp}. If @var{type_regexp} is provided, print only the local variables whose types contain a match for regular expression @var{type_regexp}. The matching is done with the local variable type as printed by the @code{whatis} command. If @var{type_regexp} contains space(s), it should be enclosed in single quote characters. If both @var{regexp} and @var{type_regexp} are provided, a local variable is printed only if it respects the two regexps. The command @kbd{info locals -q -t @var{type_regexp}} can usefully be combined with the commands @kbd{frame apply} and @kbd{thread apply}. For example, your program might use Resource Acquisition Is Initialization types (RAII) such as @code{lock_something_t} : each local variable of type @code{lock_something_t} automatically places a lock that is destroyed when the variable goes out of scope.  You can then list all acquired locks in your program by doing @smallexample thread apply all -s frame apply all -s info locals -q -t lock_something_t @end smallexample or the equivalent shorter form @smallexample tfaas i lo -q -t lock_something_t @end smallexample > > Also, the above begs the question: what if I specify both REGEXP and > TYPE_REGEXP? Is that allowed? Yes, it is allowed. The doc above now explicitly describes the behaviour when both REGEXP are provided. > > +If @var{type_regexp} contains space(s), it should be enclosed in single > > +quote characters. > > Only single quotes? Double quotes are not supported? Should they be? I do not think there is a need to support double quotes. E.g. completer.c also only uses single quote to quote completion strings. > > Do we have "RAII" explained anywhere in the manual? I don't think so, > in which case we should have here what it stands for. I have tried to explain RAII in the doc above, but wondering if that is clear enough. If not, we might maybe put a reference to e.g. the wikipedia article  https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization if such references are deemed ok in the GDB manual. Thanks again for the review Philippe