git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/3] add -p: only display help for active keys

From
PWPhillip Wood <phillip.wood@talktalk.net>
Date
Feb 13, 2018, 10:32 UTC
Message-ID
<20180213103241.6789-2-phillip.wood@talktalk.net>
In-Reply-To
<20180213103241.6789-1-phillip.wood@talktalk.net>
From: Phillip Wood <phillip.wood@dunelm.org.uk>

If the user presses a key that add -p wasn't expecting then it prints a list of key bindings. Although the prompt only lists the active bindings the help was printed for all bindings. Fix this by using the list of keys in the prompt to filter the help. Note that the list of keys was already passed to help_patch_cmd() by the caller so there is no change needed to the call site.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
---
 git-add--interactive.perl | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 964c3a75420db4751cf11125b68b6904112632f1..76b941f8f0071b7bfa9d515af25b69997ef4581a 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1184,7 +1184,13 @@ d - do not apply this hunk or any of the later hunks in the file"),
 );
 
 sub help_patch_cmd {
-	print colored $help_color, __($help_patch_modes{$patch_mode}), "\n", __ <<EOF ;
+	local $_;
+	my $other = $_[0] . ",/,?";
+	print colored $help_color, __($help_patch_modes{$patch_mode}), "\n",
+		map { "$_\n" } grep {
+			my $c = quotemeta(substr($_, 0, 1));
+			$other =~ /,$c/
+		} split "\n", __ <<EOF ;
 g - select a hunk to go to
 / - search for a hunk matching the given regex
 j - leave this hunk undecided, see next undecided hunk
-- 
2.16.1
Previous: Phillip WoodNext: Phillip Wood
Message 3 of 9 in “add -p: improve help messages”
  1. 0/3 add -p: improve help messagesPhillip Wood, Feb 13, 2018
  2. 3/3 add -p: improve error messagesPhillip Wood, Feb 13, 2018
  3. 1/3 add -p: only display help for active keysPhillip Wood, Feb 13, 2018
  4. 2/3 add -p: Only bind search key if there's more than one hunkPhillip Wood, Feb 13, 2018
  5. add -p: fix 2.17.0-rc* regression due to moved codeÆvar Arnfjörð Bjarmason, Mar 31, 2018
  6. add -p: fix 2.17.0-rc* regression due to moved codeÆvar Arnfjörð Bjarmason, Mar 31, 2018
  7. Phillip WoodMar 31, 2018
  8. Ævar Arnfjörð BjarmasonMar 31, 2018
  9. Junio C HamanoApr 1, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.