On 06/04/2023 20:03, Chet Ramey via austin-group-l at The Open Group wrote:
On 4/6/23 1:55 PM, Harald van Dijk wrote:
One additional data point: in schily-2021-09-18, Jörg's last release,
obosh, the legacy non-POSIX shell that is just there for existing
scripts and for portability testing, prints 0 (using `` rather than
$()), whereas pbosh and sh, the minimal and extended POSIX versions of
the shell, print 1. This does provide extra support for the view that
this was a change that POSIX demanded, that the deviation from
historical practice was intentional, but does not answer what the
reasoning might have been.
I doubt it was `demanded'; the bosh change immediately followed an austin-
group discussion (we both participated) about this exact issue. Maybe he
thought it was the right thing based on that discussion.
Possibly something lost in translation here. What I meant by "that POSIX
demanded" was just "that was intended to be required for POSIX conformance".
As part of the discussion, he wrote:
> The important thing to know here is that the Bourne Shell has some
> checkpoints that update the intermediate value of $?. Since that
changed in
> ksh88 and since POSIX requires a different behavior compared to the
Bourne
> Shell, I modified one checkpoint in bosh to let it match POSIX.
so he had already been modifying that behavior before 2021, maybe after
interp 1150.
And again. I can see how you would read my message as saying that this
is something he changed in his last release. That wasn't what I was
going for, I only meant that his last release was the one that I tested.
It did not seem relevant to test all earlier versions to figure out when
this changed.
Cheers,
Harald van Dijk