[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug#10898: test-suite output of automake-1.11.3 - it requested I sen
From: |
Stefano Lattarini |
Subject: |
Re: bug#10898: test-suite output of automake-1.11.3 - it requested I send it to you! |
Date: |
Tue, 28 Feb 2012 18:14:27 +0100 |
On 02/28/2012 05:51 PM, Eric Blake wrote:
> [adding autoconf]
>
> On 02/28/2012 09:42 AM, Stefano Lattarini wrote:
>
>>> Ah, likely the famous ksh bug with "$@" and empty arguments:
>>>
>>>
>>> <http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00037.html>
>
>> See automake bug#10898.
>>
>> At least the AT&T and OpenSolaris versions of the Korn shell have a
>> strange bug regarding the expression ${1+"$@"}: when exactly *one*
>> empty argument is passed to a shell function, inside that function
>> the expression ${1+"$@"} will expand to *nothing*, rather than to
>> to the single empty string, as one would expect. This was causing
>> a spurious failure in our testsuite when a shell suffering of this
>> bug was used to run the test cases.
>
> Yuck - this sounds like it should be documented in the autoconf manual.
> Is it only shell functions that are affected, but global use of
> ${1+"$@"} is still safe?
>
I can't be sure anymore -- the only affected shell I've ever encountered was
Debian's /bin/ksh (from the Debian package 'ksh' - "The real, AT&T version of
the Korn shell"), and the bugs has been fixed in it meanwhile:
$ /bin/ksh -c 'foo () { for i in ${1+"$@"}; do echo ":$i:"; done; }; foo ""'
::
Sorry,
Stefano