\t[-force-condition] [if CONDITION]\n\
PROBE_MODIFIER shall be present if the command is to be placed in a\n\
probe point. Accepted values are `-probe' (for a generic, automatically\n\
-guessed probe type), `-probe-stap' (for a SystemTap probe) or \n\
+guessed probe type), `-probe-stap' (for a SystemTap probe) or\n\
`-probe-dtrace' (for a DTrace probe).\n\
LOCATION may be a linespec, address, or explicit location as described\n\
below.\n\
Set a static tracepoint at location or marker.\n\
\n\
strace [LOCATION] [if CONDITION]\n\
-LOCATION may be a linespec, explicit, or address location (described below) \n\
+LOCATION may be a linespec, explicit, or address location (described below)\n\
or -m MARKER_ID.\n\n\
If a marker id is specified, probe the marker with that name. With\n\
no LOCATION, uses current execution address of the selected stack frame.\n\
_("Show the current CRIS version."),
_("\
Set to 10 for CRISv10 or 32 for CRISv32 if autodetection fails.\n\
-Defaults to 10. "),
+Defaults to 10."),
set_cris_version,
NULL, /* FIXME: i18n: Current CRIS version
is %s. */
variable). Input and output redirection with \">\", \"<\", or \">>\"\n\
are also allowed.\n\
\n\
-With no arguments, uses arguments last specified (with \"run\" or \n\
+With no arguments, uses arguments last specified (with \"run\" or\n\
\"set args\"). To cancel previous arguments and run with no arguments,\n\
use \"set args\" without arguments.\n\
\n\
the breakpoint won't break until the Nth time it is reached).\n\
\n\
If non-stop mode is enabled, continue only the current thread,\n\
-otherwise all the threads in the program are continued. To \n\
+otherwise all the threads in the program are continued. To\n\
continue all stopped threads in non-stop mode, use the -a option.\n\
Specifying -a and an ignore count simultaneously is an error."));
add_com_alias ("c", continue_cmd, class_run, 1);
add_com ("interrupt", class_run, interrupt_command,
_("Interrupt the execution of the debugged program.\n\
If non-stop mode is enabled, interrupt only the current thread,\n\
-otherwise all the threads in the program are stopped. To \n\
+otherwise all the threads in the program are stopped. To\n\
interrupt all running threads in non-stop mode, use the -a option."));
cmd_list_element *info_registers_cmd
add_info ("macro", info_macro_command,
_("Show the definition of MACRO, and it's source location.\n\
Usage: info macro [-a|-all] [--] MACRO\n\
-Options: \n\
+Options:\n\
-a, --all Output all definitions of MACRO in the current compilation\
unit.\n\
-- Specify the end of arguments and the beginning of the MACRO."));
add_com ("bookmark", class_bookmark, save_bookmark_command, _("\
Set a bookmark in the program's execution history.\n\
-A bookmark represents a point in the execution history \n\
+A bookmark represents a point in the execution history\n\
that can be returned to at a later point in the debug session."));
add_info ("bookmarks", info_bookmarks_command, _("\
Status of user-settable bookmarks.\n\
-Bookmarks are user-settable markers representing a point in the \n\
-execution history that can be returned to later in the same debug \n\
+Bookmarks are user-settable markers representing a point in the\n\
+execution history that can be returned to later in the same debug\n\
session."));
add_cmd ("bookmark", class_bookmark, delete_bookmark_command, _("\
Delete a bookmark from the bookmark list.\n\
&deletelist);
add_com ("goto-bookmark", class_bookmark, goto_bookmark_command, _("\
Go to an earlier-bookmarked point in the program's execution history.\n\
-Argument is the bookmark number of a bookmark saved earlier by using \n\
+Argument is the bookmark number of a bookmark saved earlier by using\n\
the 'bookmark' command, or the special arguments:\n\
start (beginning of recording)\n\
end (end of recording)"));
add_info ("skip", info_skip_command, _("\
Display the status of skips.\n\
Usage: info skip [NUMBER | RANGES]...\n\
-You can specify numbers (e.g. \"info skip 1 3\"), \n\
+You can specify numbers (e.g. \"info skip 1 3\"),\n\
ranges (e.g. \"info skip 4-8\"), or both (e.g. \"info skip 1 3 4-8\").\n\n\
If you don't specify any numbers or ranges, we'll show all skips."));
set_cmd_completer (c, complete_skip_number);
/x use hexadecimal notation when displaying sizes and offsets\n\
of struct members\n\
/d use decimal notation when displaying sizes and offsets\n\
- of struct members "));
+ of struct members"));
set_cmd_completer (c, expression_completer);
c = add_com ("whatis", class_vars, whatis_command,
"first line is not terminated with a '.' character");
/* Checks the doc is not terminated with a new line. */
- if (c->doc[strlen (c->doc) - 1] == '\n')
+ if (isspace (c->doc[strlen (c->doc) - 1]))
broken_doc_invariant
(prefix, c->name,
- "has a superfluous trailing end of line");
+ "has superfluous trailing whitespace");
+
+ for (const char *nl = strchr (c->doc, '\n');
+ nl != nullptr;
+ nl = strchr (nl + 1, '\n'))
+ {
+ if (nl == c->doc)
+ broken_doc_invariant (prefix, c->name, "has a leading newline");
+ else
+ {
+ /* \n\n is ok, so we check that explicitly here. */
+ if (isspace (nl[-1]) && nl[-1] != '\n')
+ broken_doc_invariant (prefix, c->name,
+ "has whitespace before a newline");
+ }
+ }
/* Check if this command has subcommands and is not an
abbreviation. We skip checking subcommands of abbreviations