From: Joel Brobecker <brobecker@adacore.com>
To: gdb-patches@sourceware.org
Subject: Re: [RFC/RFA] add struct parse_context to all command functions
Date: Mon, 20 Oct 2008 16:16:00 -0000 [thread overview]
Message-ID: <20081020161614.GB6251@adacore.com> (raw)
In-Reply-To: <20081009140424.GD5372@adacore.com>
Har har har, I should be able to be active again soon :-)
> I'd like to start working on adding a struct parse_context again.
> The ultimate goal is to pass this structure as an argument to all
> the "parse..." routines, rather than rely on the current_language
> and input_radix globals. In addition to being cleaner, it will also
> help fix a bug where the current_language is switched under us while
> trying to do parse an expression.
Going back to this, Tom and I exchanged a couple of emails, and
the discussion lead to an interesting suggestion. The base for the
suggestion is that Tom wonders whether it might be a little excessive
to push this extra argument that might actually only be used by a
subset of the commands. I initially agreed, but then thought about
it some more, and realized that all the command functions receive
the arguments as a string, and thus can potentially parse it.
So, always passing the parsing context wouldn't seem unreasonable
to me either. In any case, the idea that emerged is that we could
provide 2 possible command profiles, dependending on what the specific
needs of the function are. The advantage is that we then only
transition the command functions that need the parse context,
and the transition can be done piecemeal. The issue is that
we will have to duplicate all the various add_cmd functions for
the new extended profile.
So we have 3 alternatives:
1. All command functions receive the parse_context structure.
Do the transition all at once.
2. All command functions should receive the parse_context structure.
Do the transition gradually by introducing a set of "old_add_..."
functions that allow to hook command functions that have the old
profile.
3. Only the command functions that needed it would be passed
the parse_context. Add a second set of add_... routines
to hook these command functions.
I am 50/50 on (1) and (3). I like (2) a little less. Long term,
I think I prefer (1), but it's more painful in the short term.
I don't mind taking the initial hit, but other's opinion welcome.
Perhaps it's another bikeshed discussion, in which case let me know,
and I'll just decide on my own. It's just that it's such a large change
that I want to make sure I won't screw anyone up.
--
Joel
next prev parent reply other threads:[~2008-10-20 16:16 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-09 14:05 Joel Brobecker
2008-10-09 16:13 ` Tom Tromey
2008-10-09 22:20 ` Joel Brobecker
2008-10-20 16:16 ` Joel Brobecker [this message]
2008-10-20 19:03 ` Thiago Jung Bauermann
2008-10-21 0:47 ` Daniel Jacobowitz
2008-10-21 18:06 ` Ulrich Weigand
2008-10-21 18:18 ` Daniel Jacobowitz
2008-10-22 1:40 ` Joel Brobecker
2008-10-22 20:15 ` Tom Tromey
2008-10-22 20:36 ` Joel Brobecker
2008-10-21 1:22 ` Tom Tromey
2008-10-21 7:07 ` Joel Brobecker
2008-10-21 18:12 ` Ulrich Weigand
2008-10-21 18:58 ` Tom Tromey
2008-10-21 19:33 ` Tom Tromey
2008-10-22 18:03 ` Ulrich Weigand
2008-10-22 18:54 ` Tom Tromey
2008-10-22 22:24 ` Ulrich Weigand
2008-10-23 1:02 ` Tom Tromey
2008-10-23 19:50 ` Ulrich Weigand
2008-10-23 21:29 ` Tom Tromey
2008-10-24 13:01 ` Ulrich Weigand
2008-10-25 16:05 ` Tom Tromey
2008-10-27 17:07 ` Tom Tromey
2008-10-28 16:27 ` Ulrich Weigand
2008-10-28 18:17 ` Tom Tromey
2008-10-28 20:00 ` Ulrich Weigand
2008-10-25 16:25 ` Joel Brobecker
2008-10-25 16:46 ` Tom Tromey
2008-10-26 15:19 ` Joel Brobecker
2008-10-21 18:05 ` Ulrich Weigand
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=20081020161614.GB6251@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.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