This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA 0/3] Allow the user to define default leading args for commands and aliases
- From: Philippe Waroquiers <philippe dot waroquiers at skynet dot be>
- To: gdb-patches at sourceware dot org
- Date: Tue, 25 Jun 2019 01:11:41 +0200
- Subject: [RFA 0/3] Allow the user to define default leading args for commands and aliases
Allow the user to define default leading args for commands and aliases.
This patch series implements, tests and documents the following commands:
set leading-args COMMAND [= LEADING-ARGS...]
show leading-args [COMMAND]
set enable-leading-args [on|off]
show enable-leading-args
It also changes the alias command to be:
alias [-a] [--] ALIAS = COMMAND [= LEADING-ARGS...]
Using the above leading-args commands and arguments, you can
define default arguments for commands or define powerful aliases.
For example:
alias bt_ALL = backtrace = -entry-values both -frame-arg all -past-main -past-entry -full
defines the alias bt_ALL that will give as much information as possible
in a backtrace.
Leading args can usefully be combined with the (soon to be pushed I hope)
'with' command, such as:
Make "wLapPeu" an alias of 2 nested "with":
alias wLapPeu = with = language pascal -- with print elements unlimited --
or have an alias pp10 to pretty print an expression with a maximum of
10 elements:
alias pp10 = with = print pretty -- with print elem 10 -- print
This patch series also adds a completer for 'alias'.
Note 1: a preliminary version of this idea (using a command called
'add-args' was discussed in
https://sourceware.org/ml/gdb-patches/2019-06/msg00395.html
where Tom suggested to make it more GDB like, using 'set' command.
Note 2: I have made the '=' character mandatory in the 'set leading-args'
command to be sure to unambiguously separate the COMMAND from the
specified leading args.
Also, an '=' character must be specified in the alias command before
the LEADING-ARGS for consistency with set leading-args.
This also ensures that the user cannot type a wrong command name
that would be interpreted as leading args and/or cause 'mismatch'
of length between ALIAS and COMMAND
(see https://sourceware.org/ml/gdb-patches/2019-06/msg00459.html
[RFA] Fix alias command not detecting non matching prefix & sometimes asserting.).