automake
[Top][All Lists]
Advanced

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

Re: Broken makefile given Autoconf version mismatch


From: Stepan Kasal
Subject: Re: Broken makefile given Autoconf version mismatch
Date: Mon, 17 Apr 2006 12:07:15 +0200
User-agent: Mutt/1.4.1i

Hello,

On Mon, Apr 17, 2006 at 12:02:38AM +0100, Keith Marshall wrote:
> Perhaps that was an unnecessarily harsh criticism, sorry.

no problem.  I'm afraid my answer was also a bit harsh:

> > Second, let me remind me that we are currently in a freeze; [...]
> 
> I wasn't suggesting that you should immediadely rush to change anything; 

You are right, of course.  Freeze doesn't imply that we shall not say
``thank you'' if you tell us about potential problems.  So:

Thanks for taking care to report this.

>http://www.opengroup.org/onlinepubs/009695399/utilities/sed.html
> >
> > | Command verbs other than {, a, b, c, i, r, t, w, :, and # can be
> > | followed by a semicolon, optional <blank>s, and another command verb.
> > | However, when the s command verb is used with the w flag, following
> > | it with another command in this manner produces undefined results.
> 
> Ah, I overlooked that, sorry.  [...]

Well, actually, it uses the term `command verb', not `command', so it is not
clear whether the subsequent commands can contain addresses.  So it is not
so clear whether

        /@datadir@/p;/@docdir@/p;/@infodir@/p...

is safe.

But I'd blame the overall poor wording of the sed description.  (The terms
`command', `command verb', and `function' don't seem to be defined properly
nor do thay seem to be used consistently.)

> > (BTW, note that
> > sed '/datarootdir/{p
> > }'
> > is correct according to POSIX, ...
>
> Are you sure about that?  After all `{' and `p' are documented as two
> distinct commands, and since `{' cannot be followed by semicolon and
> another command, they should surely need a newline to separate them.

No, the fact that the { command verb cannot be followed by semicolon 
means that the closing } cannot be followed by semicolon.

The command is described as

        [2addr] {function
        function
        ...
        }

which implies that the first `function' can start immediately after the {.

To prevent a myth: the above example, though unusual, is probably portable.
(Thanks to Paul for correcting me.)

Have a nice day,
        Stepan




reply via email to

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