On Sat, Jul 01, 2017 at 11:17:55PM -0600, Theo de Raadt wrote:
On Sat, Jul 01, 2017 at 11:01:00PM -0600, Theo de Raadt wrote:
>Don't understand your point.  What is this fixing?
Nothing gets "fixed", it just avoids unnecessary forking and makes clear
that the inner commands do not require a subshell - there are no side
effects on the environment so a command list will do just fine for the
sake of bundling output.

So you fixed nothing, and you don't have an explanation.
The explanation was meant as "it's simpler code".

That's not good enough.

Let me explain the reality.  These scripts are written in idiomatic
shell.  So that many people can understand them.  I barely understand
the distinction you are making, and must presume many others in the
future won't understand it either.
From sh(1):
        Command lists, as described above, can be enclosed within ‘()’
        to have them executed in a subshell, or within ‘{}’ to have them
        executed in the current environment:

        (command ...)
        { command ...;}

To be fair both are used frequently here so I assume people do know the
difference.

The change doesn't make sense.
It agree that it my not seem reasonable enough (to you), but there is a
technical point to it.

Reply via email to