make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: .ONESHELL enhancement?


From: David Boyce
Subject: Re: .ONESHELL enhancement?
Date: Wed, 23 Sep 2009 08:48:08 -0400

On Tue, Sep 22, 2009 at 8:16 PM, Matt McCutchen <address@hidden> wrote:
>  But note the following in the standard:
>
>> The single-shell method has the advantages in [...] the lack of a
>> requirement for many continued lines.
>
> So they are viewing the command recipe as a single shell script, and
> constructs like the following would be legal:
>
> foo: bar
>        if test -s $<
>        then
>                echo 'nonempty' >$@
>        else
>                echo 'empty' >$@
>        fi

I think you're reading too much into this language. In the normative
sections, standards writers are extra careful in their wording and we
have to take it literally, but this is just a suggestion thrown out in
the RATIONALE section and I think the language is much more
colloquial. I think the only common-sense reading here is that
consecutive lines should be implicitly joined with "&&".

The reference to the "advantage of performance" is a strong hint; you
can't compare two techniques for performance unless they do pretty
much the same thing. Similarly, it seems clear to me anyway that the
"lack of requirement for many continued lines" simply means that it's
nice to not have to type (and see) a literal &&\ at the end of each
line.

BTW, can you give an example of a whose semantics would be changed by
adding &&, such that {} or () is needed? Seems to me that the
precedence rules make this safe

DSB




reply via email to

[Prev in Thread] Current Thread [Next in Thread]