>> I think I'll go without the extra subshell and with s/return 1/false/ as
>> the exact value doesn't matter.
>
> You mean
>
> for ...
> do
> xyz ||
> false
> done
Yes, I do.
> ? That does not work. Try this:
>
> for a in 1 2 3; do echo $a && false; done && echo done
... && echo $?
1
> While it does not print `done`, it will print all of 1, 2 and 3.
We do not care about the internal state, aborting early, we rather
care only if the whole loop body was executed. Running the test
test_expect_success 'witty title' '
for a in 1 2 3; do echo $a && false; done && echo done
'
not ok 1 - witty title
That is all we want to care about here?
Otherwise I may still have a misunderstanding.
Thanks,
Stefan