Backing out 31159 and unsetopt nomatch; works for me. However, unsetopt nullglob breaks it again. On Sat, Jan 11, 2014 at 12:58 PM, Bart Schaefer wrote: > On Jan 10, 11:37pm, Bart Schaefer wrote: > } > } - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard > $opts -- ${pref:+$pref\\\*} 2>/dev/null)"}) > } + files=(${(0)"$(setopt no_nomatch; _call_program files git ls-files -z > --exclude-standard $opts -- ${pref:+$pref\*} 2>/dev/null)"}) > > That needs nullglob turned off as well. Here's a corrected patch: > > > diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git > index 43a01d9..e9a5318 100644 > --- a/Completion/Unix/Command/_git > +++ b/Completion/Unix/Command/_git > @@ -5683,7 +5683,7 @@ __git_files () { > # TODO: --directory should probably be added to $opts when --others is > given. > > local pref=$gitcdup$gitprefix$PREFIX > - files=(${(0)"$(_call_program files git ls-files -z --exclude-standard > $opts -- ${pref:+$pref\\\*} 2>/dev/null)"}) > + files=(${(0)"$(unsetopt nullglob nomatch; _call_program files git > ls-files -z --exclude-standard $opts -- ${pref:+$pref\*} 2>/dev/null)"}) > __git_command_successful $pipestatus || return > > # _wanted $tag expl $description _files -g '{'${(j:,:)files}'}' > $compadd_opts - > -- have a nice day -jck