Thanks Rohith / David for the patch.

cheers,
~gmr



On Sat, Nov 16, 2013 at 3:10 AM, David Korn <[email protected]> wrote:

> That is the correct patch.  Thanks.
>
>
> On Fri, Nov 15, 2013 at 1:55 PM, Rohith <[email protected]> wrote:
>
>>  Hi Mohan,
>>
>> I have attached the patch file .
>>
>> Hope it helps .
>>
>> Thanks
>> Rohith
>>
>> On Thursday 14 November 2013 03:51 PM, Mohan Gorai wrote:
>>
>>   Hi Josh,
>>
>>  Thanks for the response.
>>
>>  From the output below, I see that we do have the arrary elements with
>> the strings as index created. But, an extra array member is being created
>> for every multidimensional associative array.
>>
>> $ echo "${.sh.version}"
>> Version JM 93u 2011-02-08
>> $ typeset -A foo
>> $ typeset -A foo[bar]
>> $ typeset -A foo[baz]
>> $ foo[bar][cat]=1
>> $ foo[bar][dog]=2
>> $ foo[baz][mouse]=3
>> $ foo[baz][fish]=4
>> $ set | fgrep foo
>> _='foo[baz]'
>> foo=([bar]=([0]='' [cat]=1 [dog]=2) [baz]=([0]='' [fish]=4 [mouse]=3) )
>> $
>>
>>
>>  But with the alpha release, I don't see the extra element.
>>
>> $ echo "${.sh.version}"
>> Version AIJMP 93v- 2013-10-08
>> $ typeset -A foo
>> $ typeset -A foo[bar]
>> $ typeset -A foo[baz]
>> $ foo[bar][cat]=1
>> $ foo[bar][dog]=2
>> $ foo[baz][mouse]=3
>> $ foo[baz][fish]=4
>> $ set | fgrep foo
>> _='foo[baz]'
>> foo=([bar]=([cat]=1 [dog]=2) [baz]=([fish]=4 [mouse]=3) )
>> $
>>
>> So it looks to me that ksh93 does support the associative arrays with
>> more than one dimension.
>>
>>  Am I missing something here?
>>
>>  Thanks,
>> ~gmr
>>
>>
>>
>> On Thu, Nov 14, 2013 at 3:16 PM, Joshuah Hurst <[email protected]>wrote:
>>
>>>  On Thu, Nov 14, 2013 at 8:26 AM, Mohan Gorai <[email protected]>
>>> wrote:
>>> > Hi ,
>>> >
>>> > I'm using to ksh93 scripts in my application to do various jobs . while
>>> > using double associative arrays i found the below :
>>> >
>>> > # typeset -A foo
>>> > # typeset -A foo[bar]
>>> > # typeset -A foo[baz]
>>> > # foo[bar][cat]=1
>>> > # foo[bar][dog]=2
>>> > # foo[baz][mouse]=3
>>> > # foo[baz][fish]=4
>>> > # set | fgrep foo
>>> > _='foo[baz]'
>>> > foo=([bar]=([cat]=1 [dog]=2) [baz]=([0]='' [fish]=4 [mouse]=3) )
>>> >
>>> > <<== foo[baz][0] is inserted unexpectedly
>>> >
>>> > Found that it's being fixed in alpha release as part of the below
>>> >
>>> > 12-08-20  A bug in which creating a two dimemsional associative array
>>> could
>>> >  add an extra 0 element to the second subscript has been fixed.
>>> >
>>> > could someone help me the patch file so that i can patch my binary
>>> > accordingly .
>>>
>>>  ksh93 does not support multidimensional associative arrays.
>>> Only indexed multidimensional arrays are supported. If you wish to do
>>> the same for associative arrays just append the strings.
>>>
>>> The 12-08-20 issue you're referring to was a bug which tried to create
>>> multidimensional indexed arrays using string as index, which are
>>> equivalent to the arithmetic value 0 if they are not defined variables
>>> yet and set -o nounset was not set.
>>>
>>> Arguably the right fix here is that ksh93 should throw an error if
>>> someone tried to use an associative array with more than one
>>> dimension.
>>>
>>> Josh
>>>
>>
>>
>>
>> _______________________________________________
>> ast-developers mailing 
>> [email protected]http://lists.research.att.com/mailman/listinfo/ast-developers
>>
>>
>>
>> _______________________________________________
>> ast-developers mailing list
>> [email protected]
>> http://lists.research.att.com/mailman/listinfo/ast-developers
>>
>>
>
_______________________________________________
ast-developers mailing list
[email protected]
http://lists.research.att.com/mailman/listinfo/ast-developers

Reply via email to