This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 1/3] deprecate "skip enable/etc.", doc string cleanup


This patch creates some macros for use in enable/disable/delete doc strings
and then uses them in breakpoint.c.

2016-04-17  Doug Evans  <dje@google.com>

	* breakpoint.h (EDDI_USAGE_DOC_STRING, EDD_DOC_STRING): New macros.
	(ENABLE_DOC_STRING, DISABLE_DOC_STRING, DELETE_DOC_STRING): New macros.
	* breakpoint.c (_initialize_breakpoint): Use new macros.

diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index f99a7ab..62bc3dd 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -16209,87 +16209,99 @@ so it will be deleted when hit.\n\
 BREAK_ARGS_HELP ("thbreak")));
   set_cmd_completer (c, location_completer);

-  add_prefix_cmd ("enable", class_breakpoint, enable_command, _("\
-Enable some breakpoints.\n\
-Give breakpoint numbers (separated by spaces) as arguments.\n\
-With no subcommand, breakpoints are enabled until you command otherwise.\n\
+  add_prefix_cmd ("enable", class_breakpoint, enable_command, _(
+ENABLE_DOC_STRING ("breakpoint", "enable")
+"\n\
 This is used to cancel the effect of the \"disable\" command.\n\
 With a subcommand you can enable temporarily."),
 		  &enablelist, "enable ", 1, &cmdlist);

   add_com_alias ("en", "enable", class_breakpoint, 1);

-  add_prefix_cmd ("breakpoints", class_breakpoint, enable_command, _("\
-Enable some breakpoints.\n\
-Give breakpoint numbers (separated by spaces) as arguments.\n\
+  add_prefix_cmd ("breakpoints", class_breakpoint, enable_command, _(
+ENABLE_DOC_STRING ("breakpoint", "enable breakpoints")
+"\n\
 This is used to cancel the effect of the \"disable\" command.\n\
-May be abbreviated to simply \"enable\".\n"),
+May be abbreviated to simply \"enable\"."),
 		   &enablebreaklist, "enable breakpoints ", 1, &enablelist);

   add_cmd ("once", no_class, enable_once_command, _("\
-Enable breakpoints for one hit.  Give breakpoint numbers.\n\
+Enable breakpoints for one hit.\n"
+EDDI_USAGE_DOC_STRING ("enable breakpoints once")
+"\n\
+At least one breakpoint must be specified.\n\
If a breakpoint is hit while enabled in this fashion, it becomes disabled."),
 	   &enablebreaklist);

   add_cmd ("delete", no_class, enable_delete_command, _("\
-Enable breakpoints and delete when hit.  Give breakpoint numbers.\n\
+Enable breakpoints and delete when hit.\n"
+EDDI_USAGE_DOC_STRING ("enable breakpoints delete")
+"\n\
+At least one breakpoint must be specified.\n\
 If a breakpoint is hit while enabled in this fashion, it is deleted."),
 	   &enablebreaklist);

   add_cmd ("count", no_class, enable_count_command, _("\
-Enable breakpoints for COUNT hits. Give count and then breakpoint numbers.\n\
+Enable breakpoints for COUNT hits.\n"
+EDDI_USAGE_DOC_STRING ("enable breakpoints count COUNT")
+"\n\
+At least one breakpoint must be specified.\n\
 If a breakpoint is hit while enabled in this fashion,\n\
the count is decremented; when it reaches zero, the breakpoint is disabled."),
 	   &enablebreaklist);

   add_cmd ("delete", no_class, enable_delete_command, _("\
-Enable breakpoints and delete when hit.  Give breakpoint numbers.\n\
+Enable breakpoints and delete when hit.\n"
+EDDI_USAGE_DOC_STRING ("enable delete")
+"\n\
+At least one breakpoint must be specified.\n\
 If a breakpoint is hit while enabled in this fashion, it is deleted."),
 	   &enablelist);

   add_cmd ("once", no_class, enable_once_command, _("\
-Enable breakpoints for one hit.  Give breakpoint numbers.\n\
+Enable breakpoints for one hit.\n"
+EDDI_USAGE_DOC_STRING ("enable once")
+"\n\
+At least one breakpoint must be specified.\n\
If a breakpoint is hit while enabled in this fashion, it becomes disabled."),
 	   &enablelist);

   add_cmd ("count", no_class, enable_count_command, _("\
-Enable breakpoints for COUNT hits. Give count and then breakpoint numbers.\n\
+Enable breakpoints for COUNT hits.\n"
+EDDI_USAGE_DOC_STRING ("enable count COUNT")
+"\n\
+At least one breakpoint must be specified.\n\
 If a breakpoint is hit while enabled in this fashion,\n\
the count is decremented; when it reaches zero, the breakpoint is disabled."),
 	   &enablelist);

-  add_prefix_cmd ("disable", class_breakpoint, disable_command, _("\
-Disable some breakpoints.\n\
-Arguments are breakpoint numbers with spaces in between.\n\
-To disable all breakpoints, give no argument.\n\
+  add_prefix_cmd ("disable", class_breakpoint, disable_command, _(
+DISABLE_DOC_STRING ("breakpoint", "disable")
+"\n\
A disabled breakpoint is not forgotten, but has no effect until re-enabled."),
 		  &disablelist, "disable ", 1, &cmdlist);
   add_com_alias ("dis", "disable", class_breakpoint, 1);
   add_com_alias ("disa", "disable", class_breakpoint, 1);

-  add_cmd ("breakpoints", class_alias, disable_command, _("\
-Disable some breakpoints.\n\
-Arguments are breakpoint numbers with spaces in between.\n\
-To disable all breakpoints, give no argument.\n\
+  add_cmd ("breakpoints", class_alias, disable_command, _(
+DISABLE_DOC_STRING ("breakpoint", "disable breakpoints")
+"\n\
A disabled breakpoint is not forgotten, but has no effect until re-enabled.\n\
 This command may be abbreviated \"disable\"."),
 	   &disablelist);

-  add_prefix_cmd ("delete", class_breakpoint, delete_command, _("\
-Delete some breakpoints or auto-display expressions.\n\
-Arguments are breakpoint numbers with spaces in between.\n\
-To delete all breakpoints, give no argument.\n\
-\n\
+  add_prefix_cmd ("delete", class_breakpoint, delete_command, _(
+DELETE_DOC_STRING ("breakpoint", "delete")
+"\n\
 Also a prefix command for deletion of other GDB objects.\n\
 The \"unset\" command is also an alias for \"delete\"."),
 		  &deletelist, "delete ", 1, &cmdlist);
   add_com_alias ("d", "delete", class_breakpoint, 1);
   add_com_alias ("del", "delete", class_breakpoint, 1);

-  add_cmd ("breakpoints", class_alias, delete_command, _("\
-Delete some breakpoints or auto-display expressions.\n\
-Arguments are breakpoint numbers with spaces in between.\n\
-To delete all breakpoints, give no argument.\n\
+  add_cmd ("breakpoints", class_alias, delete_command, _(
+DELETE_DOC_STRING ("breakpoint", "delete breakpoints")
+"\n\
 This command may be abbreviated \"delete\"."),
 	   &deletelist);

diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 054eab4..84ba475 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -45,6 +45,34 @@ struct event_location;
    architecture.  */

 #define	BREAKPOINT_MAX	16
+
+/* The usage part of doc strings for enable/disable/delete/info commands. */
+
+#define EDDI_USAGE_DOC_STRING(command_with_prefix) \
+  "Usage: " command_with_prefix " [NUMBERS AND/OR RANGES]\n" \
+  "You can specify numbers (e.g. \"" command_with_prefix " 1 3\"),\n" \
+  "ranges (e.g. \"" command_with_prefix " 4-8\"),\n" \
+  "or both (e.g. \"" command_with_prefix " 1 3 4-8\")."
+
+#define EDDI_USAGE_DOC_STRING_WITH_ALL(kind, command_with_prefix, actioned) \
+  EDDI_USAGE_DOC_STRING (command_with_prefix) \
+  "\nIf you don't specify any numbers or ranges,\n" \
+  "all " kind " entries are " actioned "."
+
+/* Part of the doc string for enable/disable/delete commands.  */
+
+#define EDD_DOC_STRING(kind, command_with_prefix, Action, actioned) \
+  Action " " kind " entries.\n" \
+  EDDI_USAGE_DOC_STRING_WITH_ALL (kind, command_with_prefix, actioned)
+
+#define ENABLE_DOC_STRING(kind, command_with_prefix) \
+  EDD_DOC_STRING (kind, command_with_prefix, "Enable", "enabled")
+
+#define DISABLE_DOC_STRING(kind, command_with_prefix) \
+  EDD_DOC_STRING (kind, command_with_prefix, "Disable", "disabled")
+
+#define DELETE_DOC_STRING(kind, command_with_prefix) \
+  EDD_DOC_STRING (kind, command_with_prefix, "Delete", "deleted")
 

 /* Type of breakpoint.  */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]