autoconf-patches
[Top][All Lists]
Advanced

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

Re: [PATCH v2 1/4] Replace 'test "${var+set}" = set' with '[ ${var+y} ]'


From: Bernhard Reutner-Fischer
Subject: Re: [PATCH v2 1/4] Replace 'test "${var+set}" = set' with '[ ${var+y} ]'
Date: Wed, 22 Apr 2015 20:53:40 +0200

On 9 April 2015 at 16:33, Eric Blake <address@hidden> wrote:
> On 04/09/2015 07:54 AM, Bernhard Reutner-Fischer wrote:

>>> This pattern for setting a variable to a default value also occurs in
>>> the manual under the section on ${var=value}; we should probably update
>>> that recommendation to the shorter form, since we should follow our own
>>> documentation.  Or we should determine if we can portably use the even
>>> shorter ${CONFIG_COMMANDS=$config_commands} these days, after properly
>>> rejecting ancient broken shells.
>>
>> ${x=$default} is even better, agree.
>> Given that this was even in SUSv3 it should be reasonable safe to use
>> this by now.
>
> Not all the world is SUSv3.  We have a section in the manual for a reason.
> https://www.gnu.org/software/autoconf/manual/autoconf.html#Shell-Substitutions
>
> | The portable way out consists in using a double assignment, to switch
> the 8th bit twice on Ultrix:
> |
> |           list=${list="$default"}
> |
> | ...but beware of the ‘}’ bug from Solaris (see above). For safety, use:
> |
> |           test "${var+set}" = set || var={value}
>
> Okay, so maybe we can argue that no one uses autoconf to generate
> configure scripts for Ultrix any more, and that the Solaris bug is
> something we easily avoid (because we require a shell with functions),
> so maybe we CAN now get away with the shorter default assignment form;
> but it should be its own commit and testsuite enhancements to make sure
> we aren't overlooking some other broken shell that is used in the wild.

Yea, given that Ultrix support has been removed from GCC (recently) i
would start to phase out support for Ultrix in future releases of autoconf.
Since even /me replaced my OSF/1 installation with something even more
modern a year ago i guess it would be acceptable to leave OS' that were
in effect abandoned by their vendors at older versions.

Not my call though.

Either way, thanks a lot for having taken care of these!

cheers,



reply via email to

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