# Completion for branches or tags broken with zsh

2 messages from 2011-03-06 to 2011-04-02. Participants: Stefan Haller, Jonathan Nieder.
Thread: https://gitlist.dev/t/26676

## Stefan Haller, 2011-03-06 21:38

Subject: Completion for branches or tags broken with zsh
Message-ID: <1jxqbmc.vc0luayavmrkM%lists@haller-berlin.de>
URL: https://gitlist.dev/e/1jxqbmc.vc0luayavmrkM%25lists%40haller-berlin.de

```
In the current master (and 1.7.4), tab completion for refs doesn't work
in zsh.  When typing "git log orig<TAB>", nothing appears.

A revision that works for me is 5a3a484d57.  I suspect it may have
something to do with dbda3b1090, but it's hard to bisect because many
revisions on the way can't even be loaded by zsh.

I don't know enough about the completion mechanisms to be able to debug
this myself.  Anybody able to help?

(My zsh version is 4.3.9, in case it makes a difference.)


-- 
Stefan Haller
Berlin, Germany
http://www.haller-berlin.de/

```

## Jonathan Nieder, 2011-04-02 22:50

Subject: Re: Completion for branches or tags broken with zsh
Message-ID: <20110402225045.GA22781@elie>
URL: https://gitlist.dev/e/20110402225045.GA22781%40elie
In-Reply-To: <1jxqbmc.vc0luayavmrkM%lists@haller-berlin.de>

```
Hi Stefan,

Stefan Haller wrote:

> In the current master (and 1.7.4), tab completion for refs doesn't work
> in zsh.  When typing "git log orig<TAB>", nothing appears.

Sorry for the long silence.  Indeed, it seems that I broke this in
da48616f1d (bash: get --pretty=m<tab> completion to work with bash v4,
2010-12-02).  No fix yet.

Here's the puzzle: _git calls _get_comp_words_by_ref to fill the local
array "${words[@]}".  It doesn't succeed.  Within _get_comp_words_by_ref,
${words[@]} gets filled correctly, but within _git, it keeps the value it
previously had.

Alas, that's as far as I can get without learning something about zsh. :)
I can't reproduce it when defining functions like this directly, so
there might be something subtle going on.

Hints?

Thanks for noticing.
Jonathan

```
