Quoting Chet Ramey :
I will change back to the pre-bash-4.1
behavior for the next version.
That's fantastic. Thank you!
There really isn't any requirement other than the
exit status be non-zero
Since I bothered to dig through the standard, I'll document what I
found here in case it's use
When set -e is in effect in a subshell, the exit status of commands,
functions, and sub-subshells is converted to 1.
$ ( ( exit 75 ) ); echo $?
75
$ (set -e; ( exit 75 ) ); exit $?
1
Versions of bash prior to 4.1 didn't convert all exit statuses to 1
when set -e was in effect.
$ uname -a
L