From patchwork Fri Dec 8 16:27:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Magne Hov X-Patchwork-Id: 81751 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 B0BC638582A1 for ; Fri, 8 Dec 2023 16:28:11 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by sourceware.org (Postfix) with ESMTPS id ED36F3858C5F for ; Fri, 8 Dec 2023 16:27:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ED36F3858C5F Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=undo.io Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=undo.io ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ED36F3858C5F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::32c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702052879; cv=none; b=MgIMaKfSt95/AvvvfRV1XFQaGpbnv0lcveOcPvtLypEgv0wz80oh8mbkhFxsxTsjBLBIm2onfF/c4jT0QTJnXHEahZ6D73RnpID2c1DnOK/yzRmhS+syT1Og9FwuPmqbyAhtvFgDLG2c6RsI1hbEV8ZSxD9UqoTasPB/kCAL0Mk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702052879; c=relaxed/simple; bh=Hmz6AuPR4HNlwEFjq/A4oazz2eTYaQh0XH3TYfAYvZ8=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=jsqi2gfOPYP5HUlujCGsFMe5Hxi3RJOHyzBacAh+bmhHR1omY/71hupcDM+5hI2EajKUvp31/tvhNirY+bzDS9ZUHDuQq0dxmLRQ4rmykTgsdtVMjarUQ/JnWQ6nHdnhDBtLWO4EiyD1Phg+2T13rCvV/2h5+Pv3X6kGzRoX5oo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-40c2718a768so22960895e9.0 for ; Fri, 08 Dec 2023 08:27:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=undo.io; s=google2; t=1702052876; x=1702657676; darn=sourceware.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hppyhw5ORkyuSRcRsD2kXk+thVXHxm4VcU9E4Gqt3nM=; b=KiZCXaAwWmxQJlAfGt+XmxQPifjVHDFXwL9RStx4hC4vAtFIbMlnwsJfhuZOuA2K6j cQfXWhjvEF74pABxUYjKM1isv5E+4Gi+AoOwApm7k1XjsMYDWgEwbcmDdQ5jhhf1uzIz eSyac07nAYuE0rRCUGZ1RKWojuVcvfE4hdFa5FduwaboRsW2AW47E85529O6kbOJA3Rt NON/v5FOYitLzf1X++V9cUay8kpxsuh43lKIG2pTvDe3YxBGHGeCjfVuAMXytj5PVuV+ U8K2JhgLbZgDsGAanlCfCrD3hyhgUIp6aOilnBEKz7FiFGY2KciUDOZqWWlWMv4iLJh7 DRhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702052876; x=1702657676; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hppyhw5ORkyuSRcRsD2kXk+thVXHxm4VcU9E4Gqt3nM=; b=mNbvvYkT8CJs7Dy9vS3Xfb/Q/9Uc3+cQh6qc12+XeO3v5Jc/9eNvc39CF5/Ky7jlWE W0r/oLsFBgKwvCN4Zf9k9L1d4eMLqys64X/G6uEj09BMnCd/lLq9DMiRYwbTEBSURDd3 o2zvRPU9PO8xojWxHiMLlKwmUCy1Zok/aaJ+aSjrHe7bwouQey4fT8NPT8fxng6P3JgB 5I8kMHUi5tdtlW0iSpojloIxUFIKqKdk+AWDk3slsv82fMDoEl6Z+mjrJ8v6mLoAankH Ca+3Yjngt0HRC2O+OJnK3yXWZTp+Ab3XXHREkA4Ri2+bu90hrFcOzxlyKsrSxb3HvuAp 39Yg== X-Gm-Message-State: AOJu0YxxWuFU3MrdRkqWtl5uZdJwn4h55aXNrbOozRtUT3MkLvE7z2vL HvNu42nO3EfRvHwll4/K/UWq85WaWucCv3tvG1ASOetcevuEJsgfI9LreCz8NGFqXrX/TSQkStL K6ncGF9w4vCtLlmd5HsFBahZIPlAufIWosWpj9WCiQk3lcaAGmHaGTjjHzWIQ/5nNpkjNhII= X-Google-Smtp-Source: AGHT+IF6RILWi7kPK23rvXx2e0RJN/sG+WhRjWuRp/OaPwXYoJFtTRFwiodxe4iZ+31MMkYO859fPQ== X-Received: by 2002:a05:600c:4384:b0:40c:2251:a407 with SMTP id e4-20020a05600c438400b0040c2251a407mr153566wmn.50.1702052876484; Fri, 08 Dec 2023 08:27:56 -0800 (PST) Received: from sbrinz-thinkpad.undoers.io (cfbb001091.b.cam.camfibre.uk. [185.219.110.245]) by smtp.gmail.com with ESMTPSA id fc11-20020a05600c524b00b0040b54d7ebb9sm3279063wmb.41.2023.12.08.08.27.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Dec 2023 08:27:56 -0800 (PST) From: Magne Hov To: gdb-patches@sourceware.org Cc: Magne Hov Subject: [PATCH v2] [gdb/tui] add SingleKey bindings for reverse execution commands Date: Fri, 8 Dec 2023 16:27:54 +0000 Message-Id: <20231208162754.867497-1-mhov@undo.io> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231208133836.835625-1-mhov@undo.io> References: <20231208133836.835625-1-mhov@undo.io> MIME-Version: 1.0 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, 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.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org The bindings for the reverse execution commands are the same letters as the forward execution command, but with the opposite case. This way one can simply hold down the Shift modifier key or tap the Caps Lock key to change the direction of execution. Reviewed-By: Eli Zaretskii --- gdb/doc/gdb.texinfo | 24 ++++++++++++++++++++++++ gdb/tui/tui.c | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index d2428efdb63..c42ccfdcb6d 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -30431,6 +30431,10 @@ switch into this mode, where the following key bindings are used: @item c continue +@kindex C @r{(SingleKey TUI key)} +@item C +reverse-continue + @kindex d @r{(SingleKey TUI key)} @item d down @@ -30439,14 +30443,26 @@ down @item f finish +@kindex F @r{(SingleKey TUI key)} +@item F +reverse-finish + @kindex n @r{(SingleKey TUI key)} @item n next +@kindex N @r{(SingleKey TUI key)} +@item N +reverse-next + @kindex o @r{(SingleKey TUI key)} @item o nexti. The shortcut letter @samp{o} stands for ``step Over''. +@kindex O @r{(SingleKey TUI key)} +@item O +reverse-nexti + @kindex q @r{(SingleKey TUI key)} @item q exit the SingleKey mode. @@ -30459,10 +30475,18 @@ run @item s step +@kindex S @r{(SingleKey TUI key)} +@item S +reverse-step + @kindex i @r{(SingleKey TUI key)} @item i stepi. The shortcut letter @samp{i} stands for ``step Into''. +@kindex I @r{(SingleKey TUI key)} +@item I +reverse-stepi + @kindex u @r{(SingleKey TUI key)} @item u up diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c index 941c65c970f..6d6a03251e7 100644 --- a/gdb/tui/tui.c +++ b/gdb/tui/tui.c @@ -85,13 +85,19 @@ struct tui_char_command mode. */ static const struct tui_char_command tui_commands[] = { { 'c', "continue" }, + { 'C', "reverse-continue" }, { 'd', "down" }, { 'f', "finish" }, + { 'F', "reverse-finish" }, { 'n', "next" }, + { 'N', "reverse-next" }, { 'o', "nexti" }, + { 'O', "reverse-nexti" }, { 'r', "run" }, { 's', "step" }, + { 'S', "reverse-step" }, { 'i', "stepi" }, + { 'I', "reverse-stepi" }, { 'u', "up" }, { 'v', "info locals" }, { 'w', "where" },