diff options
author | Tom Tromey <tom@tromey.com> | 2017-10-12 08:27:21 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-11-07 13:59:09 -0700 |
commit | 85c4be7c83b80acf647e6ffcaed0f0cdbcb8c3eb (patch) | |
tree | e5beb6ee1907869e987937ee92538274d0fa560d /gdb/printcmd.c | |
parent | 022643b4456ee13752b0f3a8411238ab8c53bf6d (diff) | |
download | gdb-85c4be7c83b80acf647e6ffcaed0f0cdbcb8c3eb.zip gdb-85c4be7c83b80acf647e6ffcaed0f0cdbcb8c3eb.tar.gz gdb-85c4be7c83b80acf647e6ffcaed0f0cdbcb8c3eb.tar.bz2 |
Add set_repeat_arguments function
The "x", "list", and "show commands" commands have special repetition
behavior: repeating the command doesn't re-run it with the same
arguments
This is currently implemented by modifying the passed-in argument; but
that won't work properly with const arguments (and seems pretty
obscure besides).
This patch adds a new "set_repeat_arguments" function and changes the
relevant places to call it.
gdb/ChangeLog
2017-11-07 Tom Tromey <tom@tromey.com>
* printcmd.c (x_command): Call set_repeat_arguments.
* cli/cli-cmds.c (list_command): Call set_repeat_arguments.
* top.c (repeat_arguments): New global.
(set_repeat_arguments): New function.
(execute_command): Handle repeat_arguments.
(show_commands): Calls set_repeat_arguments.
* command.h (set_repeat_arguments): Declare.
Diffstat (limited to 'gdb/printcmd.c')
-rw-r--r-- | gdb/printcmd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 017c7be..51e3d38 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -1646,7 +1646,7 @@ x_command (char *exp, int from_tty) repeated with Newline. But don't clobber a user-defined command's definition. */ if (from_tty) - *exp = 0; + set_repeat_arguments (""); val = evaluate_expression (expr.get ()); if (TYPE_IS_REFERENCE (value_type (val))) val = coerce_ref (val); |