aboutsummaryrefslogtreecommitdiff
path: root/gdb/command.h
diff options
context:
space:
mode:
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>2020-05-10 21:36:14 +0200
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>2020-05-15 22:17:46 +0200
commit57b4f16e494d8abdeb0748c69e72f911b3525b44 (patch)
treedfc66c3910d9bce236f778816771264549e74372 /gdb/command.h
parent7c05caf72d31d7382819f1113fdcf13c45729a8d (diff)
downloadgdb-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.h47
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