aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/NEWS12
-rw-r--r--gdb/cli/cli-decode.c2
-rw-r--r--gdb/doc/gdb.texinfo15
-rw-r--r--gdb/testsuite/gdb.base/settings.exp8
4 files changed, 36 insertions, 1 deletions
diff --git a/gdb/NEWS b/gdb/NEWS
index 5576c35..c4f4a02 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -27,6 +27,18 @@
emit to indicate where a breakpoint should be placed to break in a function
past its prologue.
+* Completion now also offers "NUMBER" for "set" commands that accept
+ a numeric argument and the "unlimited" keyword. For example:
+
+ (gdb) set width <TAB>
+ NUMBER unlimited
+
+ and consequently:
+
+ (gdb) complete set width
+ set width NUMBER
+ set width unlimited
+
* New commands
maintenance set ignore-prologue-end-flag on|off
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index a152834..fde554c 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -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);
}
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 39c49f2..f7b02c2 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -1960,6 +1960,21 @@ After displaying the available possibilities, @value{GDBN} copies your
partial input (@samp{b make_} in the example) so you can finish the
command.
+If the command you are trying to complete expects either a keyword or a
+number to follow, then @samp{NUMBER} will be shown among the available
+completions, for example:
+
+@smallexample
+(@value{GDBP}) print -elements @key{TAB}@key{TAB}
+NUMBER unlimited
+(@value{GDBP}) print -elements@tie{}
+@end smallexample
+
+@noindent
+Here, the option expects a number (e.g., @code{100}), not literal
+@code{NUMBER}. Such metasyntactical arguments are always presented in
+uppercase.
+
If you just want to see the list of alternatives in the first place, you
can press @kbd{M-?} rather than pressing @key{TAB} twice. @kbd{M-?}
means @kbd{@key{META} ?}. You can type this either by holding down a
diff --git a/gdb/testsuite/gdb.base/settings.exp b/gdb/testsuite/gdb.base/settings.exp
index dafc5e4..890a2be 100644
--- a/gdb/testsuite/gdb.base/settings.exp
+++ b/gdb/testsuite/gdb.base/settings.exp
@@ -215,8 +215,14 @@ proc test-integer {variant} {
test_gdb_complete_none \
"$set_cmd "
} else {
+ test_gdb_complete_multiple "$set_cmd " "" "" {
+ "NUMBER"
+ "unlimited"
+ }
+ test_gdb_complete_none \
+ "$set_cmd 1"
test_gdb_complete_unique \
- "$set_cmd " \
+ "$set_cmd u" \
"$set_cmd unlimited"
}