This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: / (slash) command : fast way to temporarily change setting(s) to run a command
- From: Kevin Buettner <kevinb at redhat dot com>
- To: gdb at sourceware dot org
- Cc: John Baldwin <jhb at FreeBSD dot org>, Philippe Waroquiers <philippe dot waroquiers at skynet dot be>, Pedro Alves <palves at redhat dot com>
- Date: Thu, 2 May 2019 20:10:55 -0700
- Subject: Re: / (slash) command : fast way to temporarily change setting(s) to run a command
- References: <1555313564.1473.2.camel@skynet.be> <20190417011403.6072c4b3@f29-4.lan> <0b0be35e-eecc-159d-5c39-ad58366be3cc@FreeBSD.org>
On Fri, 19 Apr 2019 09:52:43 -0700
John Baldwin <jhb@FreeBSD.org> wrote:
> On 4/17/19 1:14 AM, Kevin Buettner wrote:
> > My first reaction to this proposal was that '/' is already used in
> > some commands to modify their behavior. E.g. "print", "display", and
> > "x" all use /FMT to change the way that data is formatted.
> >
> > That said, '/' seems to be used in only a handful of commands. It
> > may be that its use is confined to the ones already mentioned.
> >
> > I see that the "interrupt" command allows the use of -a to modify
> > its behavior. Most commands have no modifiers at all.
> >
> > I don't have a serious objection to Philippe's proposal, but I do
> > think that we ought to consider whether use of '/' in this context
> > might be confusing to the user. Might some other character or command
> > name be less confusing? I don't know the answer to this, but I do
> > think it's something which should be pondered before making this
> > proposal a part of GDB's CLI.
>
> I find using / to make sense actually. A leading / applies "global"
> settings to the following command, so you have a general syntax that
> is something like:
>
> [/global settings] [command] [/command-specific settings] [arguments]
>
> Where moving from left to right consistently "narrows" the scope.
> This is not unlike the syntax used in certain command line programs
> that reuse getopt-like interfaces for subcommand options while also
> supporting "global" options. git is an example of this (you have
> global options before the verb and then command-specific options
> after the verb both of which use the same getopt syntax) as well as
> svn, etc.
I like this rationale for the global / command.
I'd like to wait a bit longer before reviewing Philippe's patch, however.
I know that one of my colleagues has some thoughts on the interface
and I'd like to give him a little extra time to express them here...
Kevin