Hi, On Thu, May 05, 2011 at 05:24:18PM +0300, Felipe Contreras wrote: > It turns out 'words' is a special variable used by zsh completion. > > There's probably a bug in zsh's bashcompinit: > http://article.gmane.org/gmane.comp.shells.zsh.devel/22546 > > But in the meantime we can workaround it this way. I would prefer some details about this "workaround it this way" in the commit message (i.e. that you used "typedef -h", what it does in zsh, and why it fixes the issue; my zsh-fu is, well, not particularly large, so I have no idea), so when someone later runs 'git log -- contrib/completion' then he will easier understand what's going on without the need to look at the patch. > Currently zsh is completely broken after commit da48616 (bash: get > --pretty=m<tab> completion to work with bash v4), which introduced > _get_comp_words_by_ref() that comes from debian's bash_completion > scripts, and relies on the 'words' variable to behave like any normal > variable. > > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > --- > contrib/completion/git-completion.bash | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > This patch is meant for the maintenance branch, so Szeder's patches are not > needed. My first two patches are cleanups, they definitely worth keeping, even when this patch alone would fix the zsh issues. > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index 840ae38..8d5eae7 100755 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -2710,6 +2710,9 @@ _git () > if [[ -n ${ZSH_VERSION-} ]]; then > emulate -L bash > setopt KSH_TYPESET > + > + # 'words' has special meaning in zsh; override that > + typeset -h words You have to do the same in _gitk(), too. Although _gitk() itself doesn't use $words, it invokes __git_has_doubledash(), which does, hence it's still broken. > fi > > local cur words cword > -- > 1.7.5.1.1.g638e6 > -- 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