diff options
author | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2020-05-10 21:36:14 +0200 |
---|---|---|
committer | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2020-05-15 22:17:46 +0200 |
commit | 57b4f16e494d8abdeb0748c69e72f911b3525b44 (patch) | |
tree | dfc66c3910d9bce236f778816771264549e74372 /gdb/command.h | |
parent | 7c05caf72d31d7382819f1113fdcf13c45729a8d (diff) | |
download | gdb-57b4f16e494d8abdeb0748c69e72f911b3525b44.zip gdb-57b4f16e494d8abdeb0748c69e72f911b3525b44.tar.gz gdb-57b4f16e494d8abdeb0748c69e72f911b3525b44.tar.bz2 |
Ensure class_alias is only used for user-defined aliases.
This commit finally does the (small) change that started this patch
series.
It ensures that the class_alias is only used for user-defined aliases.
So, the few GDB pre-defined aliases that were using the 'class_alias'
class are now using a real help class, typically the class of
the aliased command.
gdb/ChangeLog
2020-05-15 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* command.h (enum command_class): Improve comments, document
that class_alias is for user-defined aliases, give the class
name for each class, remove unused class_xdb.
* cli/cli-decode.c (add_com_alias): Document THECLASS intended usage.
* breakpoint.c (_initialize_breakpoint): Replace class_alias
by a precise class.
* infcmd.c (_initialize_infcmd): Likewise.
* reverse.c (_initialize_reverse): Likewise.
* stack.c (_initialize_stack): Likewise.
* symfile.c (_initialize_symfile): Likewise.
* tracepoint.c (_initialize_tracepoint): Likewise.
gdb/testsuite/ChangeLog
2020-05-15 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/alias.exp: Verify 'help aliases' shows user defined aliases.
Diffstat (limited to 'gdb/command.h')
-rw-r--r-- | gdb/command.h | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/gdb/command.h b/gdb/command.h index 0a1706c..04a380c 100644 --- a/gdb/command.h +++ b/gdb/command.h @@ -29,21 +29,46 @@ struct completion_tracker; /* Command classes are top-level categories into which commands are broken down for "help" purposes. - Notes on classes: class_alias is for alias commands which are not - abbreviations of the original command. class-pseudo is for - commands which are not really commands nor help topics ("stop"). */ + The class_alias is used for the user-defined aliases, defined + using the "alias" command. + + Aliases pre-defined by GDB (e.g. the alias "bt" of the "backtrace" command) + are not using the class_alias. + Different pre-defined aliases of the same command do not necessarily + have the same classes. For example, class_stack is used for the + "backtrace" and its "bt" alias", while "info stack" (also an alias + of "backtrace" uses class_info. */ enum command_class { - /* Special args to help_list */ - class_deprecated = -3, all_classes = -2, all_commands = -1, + /* Classes of commands followed by a comment giving the name + to use in "help <classname>". + Note that help accepts unambiguous abbreviated class names. */ + + /* Special classes to help_list */ + class_deprecated = -3, + all_classes = -2, /* help without <classname> */ + all_commands = -1, /* all */ + /* Classes of commands */ - no_class = -1, class_run = 0, class_vars, class_stack, class_files, - class_support, class_info, class_breakpoint, class_trace, - class_alias, class_bookmark, class_obscure, class_maintenance, - class_tui, class_user, class_xdb, - no_set_class /* Used for "show" commands that have no corresponding - "set" command. */ + no_class = -1, + class_run = 0, /* running */ + class_vars, /* data */ + class_stack, /* stack */ + class_files, /* files */ + class_support, /* support */ + class_info, /* status */ + class_breakpoint, /* breakpoints */ + class_trace, /* tracepoints */ + class_alias, /* aliases */ + class_bookmark, + class_obscure, /* obscure */ + class_maintenance, /* internals */ + class_tui, + class_user, /* user-defined */ + + /* Used for "show" commands that have no corresponding "set" command. */ + no_set_class }; /* FIXME: cagney/2002-03-17: Once cmd_type() has been removed, ``enum |