Matthieu Moy <Matthieu.Moy@xxxxxxx> writes: > Commit fea16b47b60 (Fri Jan 11 19:48:43 2013, Manlio Perillo, > git-completion.bash: add support for path completion), introduced a new > __gitcomp_file function that uses the bash builtin "compgen". The > function was redefined for ZSH in the deprecated section of > git-completion.bash, but not in the new git-completion.zsh script. > > As a result, users of git-completion.zsh trying to complete "git add > fo<tab>" get an error: > > git add fo__gitcomp_file:8: command not found: compgen > > This patch adds the redefinition and removes the error. > > Signed-off-by: Matthieu Moy <Matthieu.Moy@xxxxxxx> > --- >> Felipe, you know ZSH completion much better than me. Could you turn this >> into a real patch? > > No response from Felipe, so I'm trying my own patch. Compared to the > snippet I already sent, I added the -f option to "compadd", which was > there in the __gitcomp_file function defined in the deprecated ZSH > compatibility section of the bash script, and gives the ZSH equivalent > for "compopt -o filenames". > > This fixes an annoying regression for ZSH users, so it may deserve to > be in the future 1.8.2. Thanks, and I agree a fix to this issue should be fast-tracked. > > contrib/completion/git-completion.zsh | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh > index 4577502..cf8116d 100644 > --- a/contrib/completion/git-completion.zsh > +++ b/contrib/completion/git-completion.zsh > @@ -60,6 +60,15 @@ __gitcomp_nl () > compadd -Q -S "${4- }" -p "${2-}" -- ${=1} && _ret=0 > } > > +__gitcomp_file () > +{ > + emulate -L zsh > + > + local IFS=$'\n' > + compset -P '*[=:]' > + compadd -Q -p "${2-}" -f -- ${=1} && _ret=0 > +} > + > _git () > { > local _ret=1 -- 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