[Wow, that's quite the Cc-list above. I wonder why e.g. Robert ended up there, when all his "sins" were to add a couple of 'git svn' options back in 2009.] On Sat, Nov 17, 2012 at 02:38:18AM +0100, Felipe Contreras wrote: > It's only used by __gitcomp, so move some code there and avoid going > through the loop again. > > We could get rid of it altogether, but it's useful for zsh's completion > wrapper. > > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > --- > contrib/completion/git-completion.bash | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index ad3e1fe..d92d11e 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -58,15 +58,12 @@ __gitdir () > > __gitcomp_1 () > { > - local c IFS=$' \t\n' > - for c in $1; do > - c="$c$2" > - case $c in > - --*=*|*.) ;; > - *) c="$c " ;; > - esac > - printf '%s\n' "$c" > - done > + local c=$1 > + case $c in > + --*=*|*.) ;; > + *) c="$c " ;; > + esac > + printf '%s\n' "$c" > } > > # The following function is based on code from: > @@ -249,10 +246,16 @@ __gitcomp () > --*=) > ;; > *) > - local IFS=$'\n' > - __gitcompadd "$(__gitcomp_1 "${1-}" "${4-}")" "${2-}" "$cur_" "" > + local c IFS=$' \t\n' > + for c in ${1-}; do > + c=`__gitcomp_1 "$c${4-}"` 1. Backticks. 2. A subshell for every word in the wordlist? > + if [[ "$c" = "$cur_"* ]]; then > + COMPREPLY+=("${2-}$c") This is the first time we use the append operator in the completion script. When it came up last time the question was whether the benefit of using it is large enough for worrying about supported Bash versions. http://article.gmane.org/gmane.comp.version-control.git/206525 > + fi > + done > ;; > esac > + > } > > # Generates completion reply with compgen from newline-separated possible > -- > 1.8.0 > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html