mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-12 12:16:04 +08:00
gdb: fix error message for $_gdb_maint_setting
I spotted this behaviour: (gdb) p $_gdb_maint_setting("xxx") First argument of $_gdb_maint_setting must be a valid setting of the 'show' command. Notice that GDB claims I need to use a setting from the 'show' command, which isn't correct for $_gdb_maint_setting, in this case I need to use a setting from 'maintenance show'. This same issue is present for $_gdb_maint_setting_str. This commit fixes this minor issue. Approved-By: Simon Marchi <simon.marchi@efficios.com>
This commit is contained in:
parent
cbd24a9f11
commit
a02fcd08dd
@ -2219,8 +2219,16 @@ setting_cmd (const char *fnname, struct cmd_list_element *showlist,
|
||||
cmd_list_element *cmd = lookup_cmd (&a0, showlist, "", NULL, -1, 0);
|
||||
|
||||
if (cmd == nullptr || cmd->type != show_cmd)
|
||||
error (_("First argument of %s must be a "
|
||||
"valid setting of the 'show' command."), fnname);
|
||||
{
|
||||
gdb_assert (showlist->prefix != nullptr);
|
||||
std::vector<std::string> components
|
||||
= showlist->prefix->command_components ();
|
||||
std::string full_name = components[0];
|
||||
for (int i = 1; i < components.size (); ++i)
|
||||
full_name += " " + components[i];
|
||||
error (_("First argument of %s must be a valid setting of the "
|
||||
"'%s' command."), fnname, full_name.c_str ());
|
||||
}
|
||||
|
||||
return cmd;
|
||||
}
|
||||
|
@ -625,6 +625,19 @@ proc test-string {variant} {
|
||||
test_gdb_complete_none "$show_cmd "
|
||||
}
|
||||
|
||||
# Check that $_gdb_setting & co report the correct error strings.
|
||||
proc test-setting-error {} {
|
||||
gdb_test {print $_gdb_setting("xxx")} \
|
||||
"First argument of \\\$_gdb_setting must be a valid setting of the 'show' command\\."
|
||||
gdb_test {print $_gdb_setting_str("xxx")} \
|
||||
"First argument of \\\$_gdb_setting_str must be a valid setting of the 'show' command\\."
|
||||
|
||||
gdb_test {print $_gdb_maint_setting("xxx")} \
|
||||
"First argument of \\\$_gdb_maint_setting must be a valid setting of the 'maintenance show' command\\."
|
||||
gdb_test {print $_gdb_maint_setting_str("xxx")} \
|
||||
"First argument of \\\$_gdb_maint_setting_str must be a valid setting of the 'maintenance show' command\\."
|
||||
}
|
||||
|
||||
foreach variant {
|
||||
uinteger
|
||||
integer
|
||||
@ -651,3 +664,5 @@ foreach variant {
|
||||
test-string $variant
|
||||
}
|
||||
}
|
||||
|
||||
test-setting-error
|
||||
|
Loading…
Reference in New Issue
Block a user