[RFA, doc RFA] Add gdb.add_command_alias

Pedro Alves pedro@codesourcery.com
Tue Sep 13 19:32:00 GMT 2011


On Tuesday 13 September 2011 19:48:45, Doug Evans wrote:
> On Tue, Sep 13, 2011 at 10:39 AM, Pedro Alves <pedro@codesourcery.com> wrote:
> > IMO, since this is really about aliasing new CLI spellings for
> > existing CLI commands, it'd make sense to have a way to alias commands
> > in the CLI, without python.  E.g.,
> >
> > (gdb) alias isl info shared library
> > (gdb) isl
> > <list shared libraries>
> >
> > Python could then of course just do gdb.execute("alias ...").
> 
> [s/shared library/sharedlibrary/
> It's not clear how general you intended this to be.

I was just throwing out the idea.  Hadn't though much on
such details.  :-)

>
> E.g., handle an arbitrary number of prefixes?]
> 
> If the intent is to handle an arbitrary number of prefixes
> then that's a different kind of
> alias than how gdb uses the word today.

Hmm, you mean prefixes on the alias name?  Cause
we have aliases that expand to prefixed commands:

 infcmd.c:2797:  add_com_alias ("tty", "set inferior-tty", class_alias, 0);

> E.g.
> (gdb) alias spe set print elements
> (gdb) spe 20 # set print elements = 20

Right.

> That's fine, just checking ...
> 
> IWBN to add aliases from the CLI for anything,
> (e.g., grep for add_alias_cmd in mips-tdep.c, sheesh!)

Hmm, what's the advantage of add_alias_cmd over add_com_alias
(or vice versa)?  Are these really two use cases from the user's
perpective, or just two ways to end up with the same thing?

> but that will require a bit more syntax.
> One would need to distinguish aliasing
> "spe" --> "set print elements"
> from
> "set print foobars" --> "set print elements".

Ah, right, yes, of course.  That sounds useful.  Irrespective
of what we do know, do you think it _shouldn't_ work?
Maybe it's useful.

E.g., `alias -f FROM -t TO' would work for me.  E.g.,

(gdb) alias -f "set print foobars" -t "set print elements"

The command would fail if "set" or "set print" in FROM
don't exist, or TO doesn't exist.  But if that's hard,
we can just not support it (yet at least), as long as
we leave the door open in terms of syntax.

-- 
Pedro Alves



More information about the Gdb-patches mailing list