From: Simon Marchi via Gdb-patches <gdb-patches@sourceware.org>
To: Marco Barisione <mbarisione@undo.io>, gdb-patches@sourceware.org
Subject: Re: [PATCH v2 2/5] gdb: prevent prefix commands from being hooks
Date: Mon, 8 Mar 2021 16:32:44 -0500 [thread overview]
Message-ID: <1f3b725d-4b0a-d9ab-7553-24b52b3ff256@polymtl.ca> (raw)
In-Reply-To: <20210125112649.56362-3-mbarisione@undo.io>
On 2021-01-25 6:26 a.m., Marco Barisione via Gdb-patches wrote:
> Currently it's possible for hooks to be prefix commands:
>
> define-prefix hook-run
>
> define hook-run
> echo Will run!\n
> end
>
> define hook-run subcommand
> echo Subcommand\n
> end
>
> Then:
>
> (gdb) run
> Will run!
> [...]
> (gdb) hook-run subcommand
> Subcommand
>
> This doesn't seem very useful or worse, it can be confusing. Moreover,
> this creates some obscure corner cases in a later patch adding command
> renaming.
>
> Because of this, this patch prevents hooks to become prefixes and
> prefixes to become hooks.
>
> An alternative approach would have been to prevent prefixes starting
> with "hook-" or "hookpost-". The end result would have been similar
> but not identical as GDB allows commands starting with "hook-" or
> "hookpost-" which are not hooks (for instance, "define
> hook-this-doesnt-exist"). To be more consistent with this use case,
> prefixes for commands which are named like hooks but are not hooks are
> allowed.
Ahhh, changes that touch command handling are always scary stuff, we
need to be really careful not to break existing use cases or paint
ourselves in corners for future use cases. Probably why nobody dares to
review it. I'll give it a try, but know that it still scares me :).
One question that pops up is, what if someone ever wants to make a hook
for a prefixed command. For example, let's say I want to hook "info
inferiors". I don't think that's possible today, but let's say we want
to make it possible. How would that work?
This doesn't work:
(gdb) define hook-info inferiors
Undefined command: "hook-info". Try "help".
So... maybe defining "hook-info" as a prefix command would allow it?
Not sure, I didn't really think this through, but I wonder if you
thought about that case.
Simon
next prev parent reply other threads:[~2021-03-08 21:32 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-08 10:07 [PATCH 0/4] Add support for command renaming Marco Barisione via Gdb-patches
2021-01-08 10:07 ` [PATCH 1/4] gdb: add lookup_cmd_exact to simplify a common pattern Marco Barisione via Gdb-patches
2021-01-10 0:06 ` Lancelot SIX via Gdb-patches
2021-01-17 10:47 ` Marco Barisione via Gdb-patches
2021-01-17 19:02 ` Lancelot SIX via Gdb-patches
2021-01-25 11:33 ` Luis Machado via Gdb-patches
2021-01-08 10:07 ` [PATCH 2/4] gdb: prevent prefix commands from being hooks Marco Barisione via Gdb-patches
2021-01-08 10:07 ` [PATCH 3/4] gdb: update the docs for add_cmd and do_add_cmd to match reality Marco Barisione via Gdb-patches
2021-01-08 10:07 ` [PATCH 4/4] gdb: Add support for renaming commands Marco Barisione via Gdb-patches
2021-01-08 10:30 ` Eli Zaretskii via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 0/5] Add support for command renaming Marco Barisione via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 1/5] gdb: add lookup_cmd_exact to simplify a common pattern Marco Barisione via Gdb-patches
2021-03-08 18:58 ` Simon Marchi
2021-05-07 14:47 ` Marco Barisione via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 2/5] gdb: prevent prefix commands from being hooks Marco Barisione via Gdb-patches
2021-03-08 21:32 ` Simon Marchi via Gdb-patches [this message]
2021-03-09 9:42 ` Marco Barisione via Gdb-patches
2021-03-16 3:17 ` Simon Marchi via Gdb-patches
2021-05-07 14:59 ` Marco Barisione via Gdb-patches
2021-05-07 19:30 ` Simon Marchi via Gdb-patches
2021-05-07 20:11 ` Marco Barisione via Gdb-patches
2021-05-14 20:38 ` [PATCH v3 " Marco Barisione via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 3/5] gdb: update the docs for add_cmd and do_add_cmd to match reality Marco Barisione via Gdb-patches
2021-03-08 22:52 ` Simon Marchi via Gdb-patches
2021-03-08 23:10 ` Simon Marchi via Gdb-patches
2021-05-14 20:39 ` [PATCH v3 3/5] gdb: move declarations and docs for cli-decode.c to cli-decode.h Marco Barisione via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 4/5] gdb: generate the prefix name for prefix commands on demand Marco Barisione via Gdb-patches
2021-03-08 23:25 ` Simon Marchi via Gdb-patches
2021-03-16 17:00 ` Simon Marchi via Gdb-patches
2021-05-12 11:10 ` Marco Barisione via Gdb-patches
2021-01-25 11:26 ` [PATCH v2 5/5] gdb: Add support for renaming commands Marco Barisione via Gdb-patches
2021-03-23 18:45 ` Simon Marchi via Gdb-patches
2021-05-14 20:41 ` [PATCH v3 5/5] gdb: add " Marco Barisione via Gdb-patches
2021-02-08 17:53 ` [PING] [PATCH v2 0/5] Add support for command renaming Marco Barisione via Gdb-patches
2021-02-15 8:27 ` [PING2] " Marco Barisione via Gdb-patches
2021-02-22 8:28 ` [PING 3] " Marco Barisione via Gdb-patches
2021-03-01 8:32 ` [PING 4] " Marco Barisione via Gdb-patches
2021-03-08 9:23 ` [PING 5] " Marco Barisione via Gdb-patches
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=1f3b725d-4b0a-d9ab-7553-24b52b3ff256@polymtl.ca \
--to=gdb-patches@sourceware.org \
--cc=mbarisione@undo.io \
--cc=simon.marchi@polymtl.ca \
/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