aboutsummaryrefslogtreecommitdiff
path: root/gdb/guile/scm-cmd.c
diff options
context:
space:
mode:
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>2019-09-08 21:54:18 +0200
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>2019-11-30 09:37:49 +0100
commitbe09caf15d3d57da2173d26abdb0bf92ef90f28f (patch)
treedee1e80c88e618bec9c24fe31e9a0f226d9208ec /gdb/guile/scm-cmd.c
parent643c0cbedb4647702778ca8788a54053d1259d3b (diff)
downloadgdb-be09caf15d3d57da2173d26abdb0bf92ef90f28f.zip
gdb-be09caf15d3d57da2173d26abdb0bf92ef90f28f.tar.gz
gdb-be09caf15d3d57da2173d26abdb0bf92ef90f28f.tar.bz2
Allow . character as part of command names.
This patch adds . as an allowed character for user defined commands. Combined with 'define-prefix', this allows to e.g. define a set of Valgrind specific user command corresponding to the Valgrind monitor commands (such as check_memory, v.info, v.set, ...). gdb/ChangeLog 2019-11-30 Philippe Waroquiers <philippe.waroquiers@skynet.be> * command.h (valid_cmd_char_p): Declare. * cli/cli-decode.c (valid_cmd_char_p): New function factorizing the check of valid command char. (find_command_name_length, valid_user_defined_cmd_name_p): Use valid_cmd_char_p. * cli/cli-script.c (validate_comname): Likewise. * completer.c (gdb_completer_command_word_break_characters): Do not remove . from the word break char, update comments. (complete_line_internal_1): Use valid_cmd_char_p. * guile/scm-cmd.c (gdbscm_parse_command_name): Likewise. * python/py-cmd.c (gdbpy_parse_command_name): Likewise. gdb/testsuite/ChangeLog 2019-11-30 Philippe Waroquiers <philippe.waroquiers@skynet.be> * gdb.base/define.exp: Test . in command names. * gdb.base/setshow.exp: Update test, as . is now part of command name.
Diffstat (limited to 'gdb/guile/scm-cmd.c')
-rw-r--r--gdb/guile/scm-cmd.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gdb/guile/scm-cmd.c b/gdb/guile/scm-cmd.c
index f2fa40e..3b8195b 100644
--- a/gdb/guile/scm-cmd.c
+++ b/gdb/guile/scm-cmd.c
@@ -492,10 +492,7 @@ gdbscm_parse_command_name (const char *name,
lastchar = i;
/* Find first character of the final word. */
- for (; i > 0 && (isalnum (name[i - 1])
- || name[i - 1] == '-'
- || name[i - 1] == '_');
- --i)
+ for (; i > 0 && valid_cmd_char_p (name[i - 1]); --i)
;
result = (char *) xmalloc (lastchar - i + 2);
memcpy (result, &name[i], lastchar - i + 1);