[Top][All Lists]

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

Re: interrupt causes parse error in configure script

From: Eric Blake
Subject: Re: interrupt causes parse error in configure script
Date: Tue, 19 Aug 2008 20:52:46 +0000 (UTC)
User-agent: Loom/3.14 (

Ralf Wildenhues <Ralf.Wildenhues <at>> writes:

> (better: I can't reproduce them with that, with a number of shells),
> which means the number of currently known-problematic places in Autoconf
> code is quite small, I found one in status.m4 and one in the test suite.

Thanks for the audit.

> This is what I've got now.  Thoughts?
> I'm pretty sure that any remaining test failure I'm seeing are not
> introduced by this patch, so if you are ok with it I'll apply.

Any help I can offer on tracking down the (unrelated) AS_IF failures?

At any rate, please apply, after addressing these nits:

> Cheers,
> Ralf
> 2008-08-19  Jim Meyering <jim <at>>
>           Eric Blake <ebb9 <at>>
>           Ralf Wildenhues  <Ralf.Wildenhues <at>>
>       Avoid shell parse errors after interrupt due to empty command
>       substitutions.

Let's shorten that to fit on one line, to make the git log easier to manage.  
I'm thinking:

Avoid shell parse errors due to interrupted ``.

> +# -----------------------------------------------------

Based on your argument that we are likely to forget that [] defaults to [yes], 
and that saving three characters at the expense of readability is awkward, how 
about just dropping the default, and always requiring clients to explicitly 
specify what they are comparing against:


> +# Implement a shell `if test $VARIABLE = VALUE; then-else'.
> +# Polymorphic, and avoids pdksh expansion error upon interrupt.
> +m4_define([AS_VAR_IF],
> +[AS_LITERAL_IF([$1],
> +  [AS_IF([test "x$$1" = x""m4_default([$2], [yes])], [$3], [$4])],
> +  [as_val=AS_VAR_GET([$1])
> +   AS_IF([test "x$as_val" = x""m4_default([$2], [yes])], [$3], [$4])])])

so that you s/m4_default.*yes.)/$2/ here (twice).

We can always change our mind and add a default when we are ready to document 
AS_VAR_IF in the manual, but for now, the default does nothing since it is 

Eric Blake

reply via email to

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