On Fri, Jun 8, 2018 at 11:23 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Hi, > > SZEDER Gábor wrote: > >> Being in RC phase, I'm all for aiming for a minimal solution. >> However, I don't think that the better fix would be erm.. any "less >> minimal": >> >> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash >> index f2aa484758..7aeb575cd1 100644 >> --- a/contrib/completion/git-completion.bash >> +++ b/contrib/completion/git-completion.bash >> @@ -3244,7 +3244,10 @@ __gitk_main () >> __git_complete_revlist >> } >> >> -if [[ -n ${ZSH_VERSION-} ]]; then >> +if [[ -n ${ZSH_VERSION-} ]] && >> + # Don't define these functions when sourced from 'git-completion.zsh', >> + # it has its own implementations. >> + [[ -z "${GIT_SOURCING_ZSH_COMPLETION}" ]] ; then > > Needs a - before the } to avoid errors in a shell where the user has > chosen to use "set -u". See v1.7.4-rc0~159 (completion: fix zsh check > under bash with 'set -u', 2010-10-27) for more details. Right... I did remember that, but by the time I finished typing out that long variable name I forgot about it... :) However, I'm not sure it's worth caring about, because the bash-competion scripts don't work with 'set -u' anyway... >> echo "WARNING: this script is deprecated, please see git-completion.zsh" 1>&2 >> >> autoload -U +X compinit && compinit >> diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh >> index 53cb0f934f..049d6b80f6 100644 >> --- a/contrib/completion/git-completion.zsh >> +++ b/contrib/completion/git-completion.zsh >> @@ -39,7 +39,7 @@ if [ -z "$script" ]; then >> test -f $e && script="$e" && break >> done >> fi >> -ZSH_VERSION='' . "$script" >> +GIT_SOURCING_ZSH_COMPLETION=y . "$script" >> >> __gitcomp () >> { > > Except for that tweak, > Reviewed-by: Jonathan Nieder <jrnieder@xxxxxxxxx> > Thanks. > > Now it just needs a commit message. :)