[Top][All Lists]

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

Re: m4sh bug (AS_VAR_IF)

From: Randall Cotton
Subject: Re: m4sh bug (AS_VAR_IF)
Date: Mon, 16 Aug 2010 19:15:52 -0500
User-agent: Mutt/1.5.18 (2008-05-17)

On Mon, Aug 16, 2010 at 10:33:22PM +0200, Ralf Wildenhues wrote:
> Hello Randall,
> * Randall Cotton wrote on Mon, Aug 16, 2010 at 10:16:57PM CEST:
> >   [AS_IF([test "x$$1" = x""$2], [$3], [$4])],
> >                  ...here ^^^^
> >    AS_IF([test "x$as_val" = x""$2], [$3], [$4])])])
> >                  ...AND here ^^^^ 
> > 
> > It seems likely that x""$2 was meant to be "x$2".
> No, this code is really meant to be like this.  The "" serve as
> convenient separator that avoid that x and $2 can form the name of a m4
> macro upon expansion.

Thanks for clearing this up for me 8-) It's a subtle, but potentially
crucial feature, not a bug. And really, there would be a bug without it.

On Mon, Aug 16, 2010 at 02:38:12PM -0600, Eric Blake wrote:
> On 08/16/2010 02:33 PM, Ralf Wildenhues wrote:
> >> But the documentation makes no mention that this is required.
> > 
> > Then the documentation needs fixing.
> Agreed.
> Something along the lines of stating that <value> must be a shell word,
> and then giving an example with a string containing quotes and spacing
> would be appropriate.

I would suggest something along the lines of the existing documentation for
AS_ECHO and AS_ECHO_N. Both feature the statement:

"word must be a single shell word (typically a quoted string)"
 Here, "word" is italicized because the synopsis uses that label to
 represent the argument to AS_ECHO (and AS_ECHO_N).

So I'm also suggesting that rather than using the label "value" in the
synopsis for the second argument of AS_VAR_IF, use "word", again as

Randall Cotton

reply via email to

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