From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 240F13858D33 for ; Thu, 11 May 2023 08:58:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 240F13858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683795482; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7tQliSxM7U6+CYSLF0atafynvRQvaViMBvyRMHUlwFI=; b=fflajGv8ihYLjl6yWvqMSgZCCyD53yaboo2OBgCYtLG5E7WkBt5yUuHnwzBqxmNzYepo0s jPY8+J/T302PmhH75IP0oJrl3DRxMTSw/m2xQ7Fj2G/V51f8fairG2ywXTkZBly27xS9Vv EzfNra3+8Ade4wCnzU23zr7W5bgAfB0= Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-508-jIVBLnWfPLCkDUl30ykAAg-1; Thu, 11 May 2023 04:58:01 -0400 X-MC-Unique: jIVBLnWfPLCkDUl30ykAAg-1 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-50de0e31eebso1697991a12.3 for ; Thu, 11 May 2023 01:58:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683795480; x=1686387480; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7tQliSxM7U6+CYSLF0atafynvRQvaViMBvyRMHUlwFI=; b=g9Q0maNaH5hmm4LIeOhGaMIq/VHsUClqRghz2jYh+cDwikG4kYYRO/s3raBOos1MsT HPxx7OnkmrUnlm0/zc374RZufcG68DIdaQ14OCxJWk5SzeZj7hxTGM/tlM4XEcnEXQwA Ni48wRWSt0cY0cwf+dNHZYvFQdmkrFhlpHcuYzGyIRWcocaLOqEQho11F+3wKYpoHicR QfdggV8v/WYtqoiagv66DGTFrEHGu1n6Sf+XrvqkiBxZr/Md1/qGlfXp2Auovq7caM+K L/aehy/PlP7X6o7LCYcqVLqVWK7Vyh3j32tsumeMJTB5k8tbpIQSYbVLekh7wpd/M17o uKRw== X-Gm-Message-State: AC+VfDwFvcMGtN+2+tgozOCQ3gMtfjX/Mw0gP5f4alGtd3UHFGnb7v40 tRE4uFW84i495TJ+b5hu81B/+vZ51+H1sF2enQGp7Gq9IaMF/6G0x8nTnI9Om8ZRkGHS/YsffeY ox4uXdB80EDrHtBpk2XJHDM/JQ7D0GHsZumhqrqCg+e3+kXlon4yXVHLnFaCwQ++KsyF3EE4PoR Hmh2KVLw== X-Received: by 2002:aa7:c849:0:b0:50b:c88b:b227 with SMTP id g9-20020aa7c849000000b0050bc88bb227mr14290450edt.35.1683795480254; Thu, 11 May 2023 01:58:00 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6dr2kFnLe3nMFDUubzWDgLxB5/PnfyfRAR1txNDyGBYrpCaCi5iKfkaNXx70sG5k8PPD3Rtw== X-Received: by 2002:aa7:c849:0:b0:50b:c88b:b227 with SMTP id g9-20020aa7c849000000b0050bc88bb227mr14290440edt.35.1683795479853; Thu, 11 May 2023 01:57:59 -0700 (PDT) Received: from localhost (206.161.17.46.bridgefibre.net. [46.17.161.206]) by smtp.gmail.com with ESMTPSA id m24-20020aa7d358000000b0050bc6c04a66sm2706166edr.40.2023.05.11.01.57.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 May 2023 01:57:59 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH] gdb: fix error message for $_gdb_maint_setting Date: Thu, 11 May 2023 09:57:56 +0100 Message-Id: <233ff3d28911329c42a1f9023001a838875fc664.1683795463.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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. --- gdb/cli/cli-cmds.c | 12 ++++++++++-- gdb/testsuite/gdb.base/settings.exp | 15 +++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c index d466cc6c34d..b7b65303a0b 100644 --- a/gdb/cli/cli-cmds.c +++ b/gdb/cli/cli-cmds.c @@ -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 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; } diff --git a/gdb/testsuite/gdb.base/settings.exp b/gdb/testsuite/gdb.base/settings.exp index eb127d246d2..6248ba3e495 100644 --- a/gdb/testsuite/gdb.base/settings.exp +++ b/gdb/testsuite/gdb.base/settings.exp @@ -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 base-commit: 16c8122639ca0948f56fce125b3ad46e122d1edc -- 2.25.4