SZEDER Gábor wrote: > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index 912fb988..b68024c6 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -1697,6 +1697,8 @@ _git_stage () > > _git_status () > { > + __git_has_doubledash && return > + This line makes absolutely no sense to me. When the case statement fails to match anything (which it will, when a double-dash is present), we'll use the __git_complete_index_file which is superior to returning and falling back to the dumb zsh file listing, no? As a result, without that line, $ git status -- foo<TAB> will complete fine when foo* isn't necessarily a file in the filesystem, but something that our ls-files returns, no? > case "$cur" in > --untracked-files=*) > __gitcomp "no normal all" "" "${cur##--untracked-files=}" > @@ -1718,7 +1720,7 @@ _git_status () > return > ;; > esac > - __git_complete_index_file > + __git_complete_index_file "--with-tree=HEAD --cached --deleted" Might as well go all the way with "--cached --deleted --unmerged --others" no? What is the point of --with-tree=HEAD? Thanks. -- 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