aboutsummaryrefslogtreecommitdiff
path: root/gdb/cli
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2011-11-15 05:06:35 +0000
committerDoug Evans <dje@google.com>2011-11-15 05:06:35 +0000
commited59ded5ebf4f5eb5014612020c88ebd27f0b819 (patch)
tree364c1a0084e846164c80cd0d339afcb9a5e7e209 /gdb/cli
parent81f5d455defd839446d1f1b51ed84f170b47a5c1 (diff)
downloadgdb-ed59ded5ebf4f5eb5014612020c88ebd27f0b819.zip
gdb-ed59ded5ebf4f5eb5014612020c88ebd27f0b819.tar.gz
gdb-ed59ded5ebf4f5eb5014612020c88ebd27f0b819.tar.bz2
Make "!" an alias for "shell".
* NEWS: Add mention. * cli/cli-cmds.c (init_cli_cmds): Remove xdb_commands condition on adding "!" command, always add it. * cli/cli-decode.c (find_command_name_length): Recognize "!" as a command of length one. doc/ * gdb.texinfo (Shell Commands): Document "!". testsuite/ * gdb.base/shell.exp: New file.
Diffstat (limited to 'gdb/cli')
-rw-r--r--gdb/cli/cli-cmds.c9
-rw-r--r--gdb/cli/cli-decode.c7
2 files changed, 7 insertions, 9 deletions
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 94328c4..d75a6c0 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1825,14 +1825,7 @@ Two arguments (separated by a comma) are taken as a range of memory to dump,\n\
if (xdb_commands)
add_com_alias ("va", "disassemble", class_xdb, 0);
- /* NOTE: cagney/2000-03-20: Being able to enter ``(gdb) !ls'' would
- be a really useful feature. Unfortunately, the below wont do
- this. Instead it adds support for the form ``(gdb) ! ls''
- (i.e. the space is required). If the ``!'' command below is
- added the complains about no ``!'' command would be replaced by
- complains about how the ``!'' command is broken :-) */
- if (xdb_commands)
- add_com_alias ("!", "shell", class_support, 0);
+ add_com_alias ("!", "shell", class_support, 0);
c = add_com ("make", class_support, make_command, _("\
Run the ``make'' program using the rest of the line as arguments."));
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 0870782..22ae6ec 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -1127,11 +1127,16 @@ find_command_name_length (const char *text)
Note that this is larger than the character set allowed when
creating user-defined commands. */
+ /* Recognize '!' as a single character command so that, e.g., "!ls"
+ works as expected. */
+ if (*p == '!')
+ return 1;
+
while (isalnum (*p) || *p == '-' || *p == '_'
/* Characters used by TUI specific commands. */
|| *p == '+' || *p == '<' || *p == '>' || *p == '$'
/* Characters used for XDB compatibility. */
- || (xdb_commands && (*p == '!' || *p == '/' || *p == '?')))
+ || (xdb_commands && (*p == '/' || *p == '?')))
p++;
return p - text;