Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Doug Evans <xdje42@gmail.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: Andreas Schwab <schwab@linux-m68k.org>,
		"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: RFC: "set" command with 2 arguments instead of one?
Date: Mon, 24 Nov 2014 05:39:00 -0000	[thread overview]
Message-ID: <CAP9bCMStR=uJ387HDhKdN8CHShFOiquYFHXhOvcVX0i0_Hr7VA@mail.gmail.com> (raw)
In-Reply-To: <20141123095317.GE5774@adacore.com>

On Sun, Nov 23, 2014 at 1:53 AM, Joel Brobecker <brobecker@adacore.com> wrote:
>> > It proposes the introduction of a couple of commands, one to dump
>> > the contents of the of the bounds table, and one to set the bounds
>> > for any given address. Since those commands are MPX-specific,
>> > I would like to have them prefixed somehow. But the beyond the
>> > fact that I'd like to have them prefixed, I was wondering if
>> > set/show commands could be used for that. Eg:
>> >
>> >     show mpx bound ADDR
>> >     set mpx bound ADDR LBOUND UBOUND
>> >
>> > The reason why I am asking for comments is that the "set" command
>> > above has a syntax which is slightly unusual for "set" commands
>> > in the sense that "set" commands nearly always only have one argument,
>> > whereas it has 3 in this case.
>>
>> How do you parse the arguments if they are arbitrary expressions?
>
> I think that this is a question which is othogonal to the question
> I am asking. If you need a command that takes multiple arguments,
> and some of these arguments are going to be arbitrary expressions,
> you're going to have a parsing problem regardless of the name of
> the command you're choosing. And each command, regardless of the
> name of the command they decide on, can determine how they handle it.
> For instance, they could use quoting, a la shell.
>
> But in the particular case that interests us, there are no arbitrary
> expressions as of yet.

This feels like a case where we need to at least think about some
future-proofing.
One way some commands separate expressions is with commas.
I'm not fond of optional commas (setting aside the thread on
info macro -at LOCATION,).
IOW, if it turns out that we want to use commas down the road
to separate expressions here, then I'd prefer the commas
be required today.
E.g., set mpx bound ADDR, LBOUND, UBOUND

As for how to process multiple arguments to a "set" command,
one way would be to stage the value in a string parameter,
and then have a set handler post-process the result.


  reply	other threads:[~2014-11-24  5:39 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-23  4:24 Joel Brobecker
2014-11-23  9:32 ` Andreas Schwab
2014-11-23  9:53   ` Joel Brobecker
2014-11-24  5:39     ` Doug Evans [this message]
2014-11-24  7:13       ` Joel Brobecker
2014-11-24 10:38         ` Andreas Schwab
2014-11-24 15:36         ` Doug Evans
2015-04-13 15:32         ` Tedeschi, Walfred
2015-04-14 12:49           ` Joel Brobecker
2015-04-20  5:44             ` Doug Evans
2015-04-20 15:25               ` Joel Brobecker
2015-04-20 15:30               ` Tedeschi, Walfred

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAP9bCMStR=uJ387HDhKdN8CHShFOiquYFHXhOvcVX0i0_Hr7VA@mail.gmail.com' \
    --to=xdje42@gmail.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=schwab@linux-m68k.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox