&prehook, &prehookee,
&posthook, &posthookee);
/* If this happens, it means a programmer error somewhere. */
- gdb_assert (!aliases && !prehook && prehookee
+ gdb_assert (!aliases && !prehook && !prehookee
&& !posthook && ! posthookee);
return 0;
}
*show_result = show;
}
-struct cmd_list_element *
-deprecated_add_set_cmd (char *name,
- enum command_class class,
- var_types var_type,
- void *var,
- char *doc,
- struct cmd_list_element **list)
-{
- return add_set_or_show_cmd (name, set_cmd, class, var_type, var, doc, list);
-}
-
/* Add element named NAME to command list LIST (the list for set or
some sublist thereof). CLASS is as in add_cmd. ENUMLIST is a list
of strings which may follow NAME. VAR is address of the variable
struct re_pattern_buffer *regex, char *prefix)
{
struct cmd_list_element *c;
- int returnvalue=1; /*Needed to avoid double printing*/
+ int returnvalue;
/* Walk through the commands */
for (c=commandlist;c;c=c->next)
{
+ returnvalue = -1; /*Needed to avoid double printing*/
if (c->name != NULL)
{
/* Try to match against the name*/
0 /* don't recurse */, stream);
}
}
- if (c->doc != NULL && returnvalue != 0)
+ if (c->doc != NULL && returnvalue < 0)
{
/* Try to match against documentation */
if (re_search(regex,c->doc,strlen(c->doc),0,strlen(c->doc),NULL) >=0)
0 /* don't recurse */, stream);
}
}
- /* Check if this command has subcommands */
- if (c->prefixlist != NULL)
+ /* Check if this command has subcommands and is not an abbreviation.
+ We skip listing subcommands of abbreviations in order to avoid
+ duplicates in the output.
+ */
+ if (c->prefixlist != NULL && !c->abbrev_flag)
{
/* Recursively call ourselves on the subcommand list,
passing the right prefix in.