[RFA,4/4] Document prefix-define command and the use of . in command names.
Commit Message
gdb/ChangeLog
YYYY-MM-DD Philippe Waroquiers <philippe.waroquiers@skynet.be>
* NEWS: Mention prefix-define. Tell that command names can now
contain a . character.
gdb/doc/ChangeLog
YYYY-MM-DD Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.texinfo (Define): Indicate that user-defined prefix can
be used in 'define' command. Document 'prefix-define' command.
---
gdb/NEWS | 6 ++++++
gdb/doc/gdb.texinfo | 36 ++++++++++++++++++++++++++++++++++--
2 files changed, 40 insertions(+), 2 deletions(-)
Comments
> From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
> Cc: Philippe Waroquiers <philippe.waroquiers@skynet.be>
> Date: Sun, 29 Sep 2019 22:54:27 +0200
>
> gdb/ChangeLog
> YYYY-MM-DD Philippe Waroquiers <philippe.waroquiers@skynet.be>
> * NEWS: Mention prefix-define. Tell that command names can now
> contain a . character.
>
> gdb/doc/ChangeLog
> YYYY-MM-DD Philippe Waroquiers <philippe.waroquiers@skynet.be>
>
> * gdb.texinfo (Define): Indicate that user-defined prefix can
> be used in 'define' command. Document 'prefix-define' command.
Thanks, this is OK.
@@ -27,6 +27,9 @@
provide the exitcode or exit status of the shell commands launched by
GDB commands such as "shell", "pipe" and "make".
+* User defined commands can now be defined using user defined prefix commands
+ Command names can now use the . character.
+
* The RX port now supports XML target descriptions.
* GDB now shows the Ada task names at more places, e.g. in task switching
@@ -69,6 +72,9 @@ pipe -d DELIM COMMAND DELIM SHELL_COMMAND
With no COMMAND, repeat the last executed command
and send its output to SHELL_COMMAND.
+prefix-define COMMAND
+ Define or mark a command as a user-defined prefix command.
+
with SETTING [VALUE] [-- COMMAND]
w SETTING [VALUE] [-- COMMAND]
Temporarily set SETTING, run COMMAND, and restore SETTING.
@@ -26347,8 +26347,9 @@ end
Define a command named @var{commandname}. If there is already a command
by that name, you are asked to confirm that you want to redefine it.
The argument @var{commandname} may be a bare command name consisting of letters,
-numbers, dashes, and underscores. It may also start with any predefined
-prefix command. For example, @samp{define target my-target} creates
+numbers, dashes, dots, and underscores. It may also start with any
+predefined or user-defined prefix command.
+For example, @samp{define target my-target} creates
a user-defined @samp{target my-target} command.
The definition of the command is made up of other @value{GDBN} command lines,
@@ -26369,6 +26370,37 @@ You may use the @code{document} command again to change the
documentation of a command. Redefining the command with @code{define}
does not change the documentation.
+@kindex prefix-define
+@item prefix-define @var{commandname}
+Define or mark the command @var{commandname} as a user-defined prefix
+command. Once marked, @var{commandname} can be used as prefix command
+by the @code{define} command.
+Note that @code{prefix-define} can be used with a not yet defined
+@var{commandname}. In such a case, @var{commandname} is defined as
+an empty user-defined command.
+
+Example:
+@example
+(gdb) prefix-define abc
+(gdb) prefix-define abc def
+(gdb) define abc def ghi
+Type commands for definition of "abc def ghi".
+End with a line saying just "end".
+>echo command ghi\n
+>end
+(gdb) define abc def
+Redefine command "def"? (y or n) y
+Type commands for definition of "abc def".
+End with a line saying just "end".
+>echo command def\n
+>end
+(gdb) abc def ghi
+command ghi
+(gdb) abc def
+command def
+(gdb)
+@end example
+
@kindex dont-repeat
@cindex don't repeat command
@item dont-repeat