Hi, This is how to reproduce the bug: ``` git checkout [tab-tab] echo $x # outputs the name of the last branch on completion list ``` Or more directly: ``` __gitcompappend "something" echo $x # outputs 'something' ``` No big deal, but it's annoying to know that `$x` is lurking. Cheers, Márcio Almada.
From 9ff849272f80f5e21a681995ed9aecfffcaf2a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Almada?= <marcio3w@xxxxxxxxx> Date: Tue, 7 Apr 2015 05:11:35 -0300 Subject: [PATCH] fix global bash variable leak on __gitcompappend --- contrib/completion/git-completion.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index fbe5972..5944c82 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -186,7 +186,7 @@ fi __gitcompappend () { - local i=${#COMPREPLY[@]} + local x i=${#COMPREPLY[@]} for x in $1; do if [[ "$x" == "$3"* ]]; then COMPREPLY[i++]="$2$x$4" -- 1.9.3