From patchwork Thu May 11 08:57:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 69110 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B23743858414 for ; Thu, 11 May 2023 08:58:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B23743858414 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1683795515; bh=7tQliSxM7U6+CYSLF0atafynvRQvaViMBvyRMHUlwFI=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=tnjHQdbKtet0+Kn80I5faH+SDuoiuwV5ZWcsEBuCTfsAR/Nzd/32vYhLrEu1Q1Ylp Hie0338Qh19eme50tKUDpNZKXq3ip4/DyAeD3dZjHKnQc5BfCmojjO7gPLsfq8TLmz 679+3/OBmvF003lEOfrVuGx3qKYmqc+n8cOs8xHQ= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org 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 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) 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 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" 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(-) base-commit: 16c8122639ca0948f56fce125b3ad46e122d1edc 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