The patch applied to the test(1) command on 12 August was
incorrect, as shown by this example:

term% test 1 -gt 2 -o 3 -lt 4 && echo yes
yes
term% test 1 -lt 2 -o 3 -lt 4 && echo yes
test: unexpected operator/operand: 3
term% 

Because the -a and -o operators don't necessarily
evaluate their right-hand argument, it's wrong to assume
that  there should be no arguments remaining when the
top-level expresssion evaluation returns.

The result is not just a spurious error message but possibly
an incorrect truth status, so I would suggest that anyone who
has pulled from sources since 12 August should revert to the
previous version of /386/bin/test.

-- Richard

Reply via email to