1ccdf5daeb
which was unnecessarily changed in revision 1.50 while fixing other bugs. That is, exit the shell if the last command in a || or && compound statement is not short-circuited, and exits with a false status. I.e., the following will cause the shell to exit: set -e false || false While this is not the prescribed behavior in SUSv3, it is what our man page documents, and it is what all of the following implementations do: NetBSD /bin/ksh (pdksh) bash zsh Solaris 9 /bin/sh Solaris 9 /usr/xpg4/bin/sh Solaris 9 /usr/bin/ksh Tru64 /bin/sh HP/UX 11 /bin/sh The "standard" seems to be wrong in this instance.