From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 123469 invoked by alias); 27 Jun 2017 16:25:03 -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 123204 invoked by uid 89); 27 Jun 2017 16:25:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=HTo:U*tom X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Jun 2017 16:25:00 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9A1E73F723; Tue, 27 Jun 2017 16:24:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9A1E73F723 Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=palves@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 9A1E73F723 Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id D598C8D77B; Tue, 27 Jun 2017 16:24:58 +0000 (UTC) Subject: Re: [RFA 01/10] Rationalize "backtrace" command line parsing To: Tom Tromey , gdb-patches@sourceware.org References: <20170425194113.17862-1-tom@tromey.com> <20170425194113.17862-2-tom@tromey.com> From: Pedro Alves Message-ID: <9cfa324d-f685-405f-92be-f74846da4e91@redhat.com> Date: Tue, 27 Jun 2017 16:25:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20170425194113.17862-2-tom@tromey.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-06/txt/msg00734.txt.bz2 I noticed now that this series is still pending. On 04/25/2017 08:41 PM, Tom Tromey wrote: > The backtrace command has peculiar command-line parsing. In > particular, it splits the command line, then loops over the arguments. > If it sees a word it recognizes, like "full", it effectively drops > this word from the argument vector. Then, it pastes together the > remaining arguments, passing them on to backtrace_command_1, which in > turn passes the resulting string to parse_and_eval_long. > > The documentation doesn't mention the parse_and_eval_long at all, so > it is a bit of a hidden feature that you can "bt 3*2". The strange > algorithm above also means you can "bt 3 * no-filters 2" and get 6 > frames... > Funny. > This patch changes backtrace's command line parsing to be a bit more > rational. Now, special words like "full" are only recognized at the > start of the command. > > This also updates the documentation to describe the various bt options > individually. > > ChangeLog > 2017-04-25 Tom Tromey > > * stack.c (backtrace_command): Rewrite command line parsing. LGTM. It might be good to clarify "help bt", to show something around: Usage: backtrace [QUALIFIERS]... COUNT I'd support deprecating the existing non-hyphenated qualifiers, and start supporting hyphenated options: bt -full -no-filters -whatever-new-option -- COUNT Thanks, Pedro Alves