Re: [PATCH] t0300: workaround bug in FreeBSD < 10 sh
To
Jeff King
Cc
Carlo Marcelo Arenas Belón
Git List
From
Eric Sunshine
See Also
Prev Ref 1
Date
2020-05-14 22:44:42 UTC
On Thu, May 14, 2020 at 6:03 PM Jeff King <peff@peff.net> wrote:
> Just to be clear, if you run:
>
> foo() {
>   for i in "$@"; do
>     echo "arg:$i"
>   done
>   sed s/^/stdin:/
> }
> set -- outer
> foo inner <<EOF
> $1
> EOF
>
> do you get:
>
> arg:inner
> stdin:inner

That is indeed the result with the FreeBSD 9.3 shell. Seems buggy.
Assigning $1, $2, ... to variables (local or not) as Carlo's patch
does seems to work around the buggy behavior.