> Unfortunately after playing a little bit more with rc, and trying > it's syntax and semantics to the limit, I've also found other nasty > bugs (some of which I've fixed, other I was not able to do so)...
what nasty bugs? could you give some specifics. > By the way, what is the expected outcome of the following snippet > of code when the `-e` (exit on non-0 exit code) is on: > > { echo 1 ; false ; echo 2 } || echo 3 > > Case a) it should print `1` and exit because the false in the > middle of the block just failed; > Case b) it should print `1`, and then `2`, because `false` is > inside a block that is part of a `||` command; > Case c) it should print `1`, and then `3`, because `false` has > stopped the evaluation of the block, and made the entire block exit > code be `1`. that's not a bug. -e is only evaluated at the end of a full rc production. in yiour case, there is only one production and it $status is '' (true) at the end of it. since echo 3 sets status to true. - erik