Brandon Turner <bt <at> brandonturner.net> writes: > +__git_ls_files_helper () > +{ > + ( > + test -n "${CDPATH+set}" && unset CDPATH > + cd -q "$1" > + if [ "$2" == "--committable" ]; then > + git diff-index --name-only --relative HEAD > + else > + # NOTE: $2 is not quoted in order to support multiple options > + git ls-files --exclude-standard $2 > + fi > + ) 2>/dev/null > +} > + (Sorry about this; I should've caught it the first time around). Zsh does not split string expansions into several words by default. For example: $ str1='hello world' $ str2='goodbye moon' $ printf '%s\n' $str1 $str2 hello world goodbye moon This can be enabled on a "per-expansion basis" by using = while expanding: $ str1='hello world' $ str2='goodbye moon' $ printf '%s\n' $=str1 $str2 hello world goodbye moon So the $2 in your patch should be $=2. BUT: Over a year ago Git learned the -C argument. Couldn't we use that here? That way we would not have to unset CDPATH and can get rid of the subshell and cd -q. If we allow the other functions to use several arguments to pass options with we can get rid of the whole seperation between bash and zsh altogether. Øsse -- 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