[Top][All Lists]

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

Re: m4sh bug (AS_VAR_IF)

From: Ralf Wildenhues
Subject: Re: m4sh bug (AS_VAR_IF)
Date: Mon, 16 Aug 2010 22:33:22 +0200
User-agent: Mutt/1.5.20 (2010-04-22)

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.

> A workaround would be to shell-quote the second argument to AS_VAR_IF, as
> in:
> AS_VAR_IF([testvar], ["blah blah"], [printf "compare OK\n"], [printf "compare

That's the way to go in your code.

> But the documentation makes no mention that this is required.

Then the documentation needs fixing.

> Furthermore,
> it seems unnecessary to inflict such a requirement.

Well, problem is, the user might just prefer single quotes, or some more
complicated construct.  With the current code, she can eat that cake
too, but with fixed double-quoting that is ugly.

Cheers, and thanks for the bug report,

reply via email to

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