]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: fix completing unstuck email alias arguments
authorSZEDER Gábor <szeder@ira.uka.de>
Sat, 12 Dec 2015 00:18:18 +0000 (01:18 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 14 Dec 2015 22:01:37 +0000 (14:01 -0800)
Completing unstuck form of email aliases doesn't quite work:

  $ git send-email --to <TAB>
  alice   bob     cecil
  $ git send-email --to a<TAB>
  alice   bob     cecil

While listing email aliases works as expected, the second case should
just complete to 'alice', but it keeps offering all email aliases
instead.

The cause for this behavior is that in this case we mistakenly tell
__gitcomp() explicitly that the current word to be completed is empty,
while in reality it is not.  As a result __gitcomp() doesn't filter
out non-matching aliases, so all aliases end up being offered over and
over again.

Fix this by not passing the current word to be completed to
__gitcomp() and letting it go the default route and grab it from the
'$cur' variable.  Don't pass empty prefix either, because it's assumed
to be empty when unspecified, so it's not necessary.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index 111b05302bc79bee26c1009b841f289127f024a3..d9b995799c6f86f23eded9ebbc955bccf2ebb76d 100644 (file)
@@ -1716,7 +1716,7 @@ _git_send_email ()
        --to|--cc|--bcc|--from)
                __gitcomp "
                $(git --git-dir="$(__gitdir)" send-email --dump-aliases 2>/dev/null)
-               " "" ""
+               "
                return
                ;;
        esac