GDB: Add NUMBER' completion to set' integer commands

Fix a completion consistency issue with `set' commands accepting integer
values and the special `unlimited' keyword:

(gdb) complete print -elements
print -elements NUMBER
print -elements unlimited
(gdb)

vs:

(gdb) complete set print elements
set print elements unlimited
(gdb)

(there is a space entered at the end of both commands, not shown here)
which also means if you strike <Tab> with `set print elements ' input,
it will, annoyingly, complete to `set print elements unlimited' right
away rather than showing a choice between `NUMBER' and `unlimited'.

Add `NUMBER' then as an available completion for such `set' commands:

(gdb) complete set print elements
set print elements NUMBER
set print elements unlimited
(gdb)

Adjust the testsuite accordingly.  Also document the feature in the
Completion section of the manual in addition to the Command Options
section already there.
This commit is contained in:
Maciej W. Rozycki
2022-06-30 19:57:34 +01:00
parent 0b1505c82d
commit 89555e4ec2
4 changed files with 36 additions and 1 deletions

View File

@@ -989,6 +989,8 @@ integer_unlimited_completer (struct cmd_list_element *ignore,
NULL,
};
if (*text == '\0')
tracker.add_completion (make_unique_xstrdup ("NUMBER"));
complete_on_enum (tracker, keywords, text, word);
}