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)
commitccab28a947d34a8d3d7e32569e82400bc0fe3c0c
tree7be2e055e584e81292baaa6c3ebc486e50cdbe45
parentdfbe5eeb321c4887328f134afe09e98dc722a365
completion: fix completing unstuck email alias arguments

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