Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

ERR_EXIT and pipelines



Hello,

I have recently found a problem with _bash_ that is described in the
following thread in bash-bug mailing list:
http://groups.google.com/group/gnu.bash.bug/browse_thread/thread/e37f5c7ddcc55eeb/57474f8d2f8efa59

In short, it's about the fact that either of the following lines make a
"set -e" script abort:
 true | false
 for a in 1; do false; done
but the following does not:
 true | for a in 1; do false; done

I thought that this inconsistency was a bug in bash, but as you can find
out in the thread, it is the first type of statements that behaves
incorrectly, according to bash maintainer's interpretation of SUS.

zshoptions manpage defines 'ERR_EXIT' sematics differently: more like I
would like it to work. It also works consistently in the above examples.

Since I like zsh behavior more (makes it easier to write reliable
scripts), I'm considering switching my program (cruft) to zsh. But
before I do it, can someone please confirm that what is written in the
manpage and how zsh behaves right now is indeed the intended behaviour,
and will not in forseeable future be changed to match bash's behaviour?

regards,
-- 
Marcin Owsiany <marcin@xxxxxxxxxx>              http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216
 
"Every program in development at MIT expands until it can read mail."
                                                              -- Unknown



Messages sorted by: Reverse Date, Date, Thread, Author