threads / patch / 59504

patchsend-email: show --no options correctly

Subject: [PATCH] send-email: show --no options correctly

## tl;dr

One message between Mar 31, 2023 and Mar 31, 2023. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Felipe Contreras· Mar 31, 2023, 01:53 UTC · lore

All of the --no options need to be after the `--`, otherwise the completion will show them initially.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 git-send-email.perl | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
Show changes to git-send-email.perl +4 −3
diff --git a/git-send-email.perl b/git-send-email.perl
index 07f2a0cbea..f0d80baa01 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -142,9 +142,10 @@ sub completion_helper {
 
 	my @format_patch_opts = split(/ /, Git::command('format-patch', '--git-completion-helper'));
 	my @opts = (@send_email_opts, @format_patch_opts);
-	@opts = uniq (grep !/^$/, @opts);
-	# There's an implicit '\n' here already, no need to add an explicit one.
-	print "@opts";
+	@opts = uniq (grep !/^(--|)$/, @opts);
+	my @pos_opts = grep(!/^--no/, @opts);
+	my @neg_opts = grep(/^--no/, @opts);
+	print "@pos_opts -- @neg_opts";
 	exit(0);
 }
 
-- 
2.40.0.133.g8a4477c8d7.dirty

← back to recent threads