From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 88260 invoked by alias); 26 Apr 2017 10:33:55 -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 87150 invoked by uid 89); 26 Apr 2017 10:33:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-6.5 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_1,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=H*r:sk:1d3KGY-, letter X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (208.118.235.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Apr 2017 10:33:52 +0000 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d3KGY-0006vO-UD for gdb-patches@sourceware.org; Wed, 26 Apr 2017 06:33:52 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52720) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d3KGY-0006vF-QW; Wed, 26 Apr 2017 06:33:46 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3568 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d3KGY-0005Uz-31; Wed, 26 Apr 2017 06:33:46 -0400 Date: Wed, 26 Apr 2017 10:33:00 -0000 Message-Id: <8337cvpifw.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey CC: gdb-patches@sourceware.org In-reply-to: <20170425194113.17862-2-tom@tromey.com> (message from Tom Tromey on Tue, 25 Apr 2017 13:41:04 -0600) Subject: Re: [RFA 01/10] Rationalize "backtrace" command line parsing Reply-to: Eli Zaretskii References: <20170425194113.17862-1-tom@tromey.com> <20170425194113.17862-2-tom@tromey.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-IsSubscribed: yes X-SW-Source: 2017-04/txt/msg00704.txt.bz2 > From: Tom Tromey > Cc: Tom Tromey > Date: Tue, 25 Apr 2017 13:41:04 -0600 > > 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... > > 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. Do we really want to make backward-incompatible changes in such a veteran command? > +@code{backtrace} can accept some arguments: This sentence will look erroneous in print, because it starts with a lower-case letter. Maybe use "The @code{backtrace} command can ..." instead. Also, you've removed the @table and the corresponding @item, so now the description text describes something that was not yet called out: @node Backtrace @section Backtraces @cindex traceback @cindex call stack traces A backtrace is a summary of how your program got where it is. It shows one line per frame, for many frames, starting with the currently executing frame (frame zero), followed by its caller (frame one), and on up the stack. @anchor{backtrace-command} @kindex backtrace @kindex bt @r{(@code{backtrace})} Print a backtrace of the entire stack, use the @code{backtrace} command, or its alias @code{bt}. This command will print one line ... Since @kindex leaves no traces in the manual, I think this will look weird, don't you agree? Thanks.