On 7/26/18 3:15 PM, Grisha Levit wrote:
> It seems that in general the array type is inherited just fine, there is an
> issue only in the case that:
>    * the `A' attribute is inherited but not explicitly supplied
>    * we are creating the local variable with the `declare' command
>      (i.e. it is not already an existing local variable)
>    * we are performing a compound assignment/append operation in the
>      same declare command

Exactly. Look at the third point. A statement like `declare x+=( [0]=foo)'
means to create a local array variable, since the -A option is not
supplied. Bash is consistent in defaulting to indexed array variables when
you don't specify -A and assign a value using the compound assignment
syntax. So you create a local indexed array variable, and when you attempt
to inherit the value from a global associative array before performing any
specified assignment, you should either ignore the inherited value or throw
an error.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://tiswww.cwru.edu/~chet/

Reply via email to