Jeff King <peff@xxxxxxxx> writes: > It's surprisingly hard to do field-splitting without pathname globbing > in pure shell. I couldn't find a way without using "set -f". That's in > POSIX, but it feels funny tweaking a global that can effect how other > code runs. We can at least constraint it to a subshell close to the > point of use: > ... > - for pattern_ > + (set -f > + for pattern_ in $* > do > case "$arg" in > $pattern_) > - return 0 > + exit 0 > esac > done > - return 1 > + exit 1) > } Nice. "set -f" is what I wanted to find myself but couldn't, when I wrote the message you are responding to. > -if match_pattern_list "$this_test" $GIT_SKIP_TESTS > +if match_pattern_list "$this_test" "$GIT_SKIP_TESTS" OK. 'for pattern_ in $*' that flattens $* allows us to quote it here, passing it as a single argument without globbing.