[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok
From: |
Linda Walsh |
Subject: |
Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok |
Date: |
Sun, 21 Jul 2013 20:39:29 -0700 |
User-agent: |
Thunderbird |
Dan Douglas wrote:
> On Sunday, July 21, 2013 04:13:31 PM Chet Ramey wrote:
>> (For what it's worth, I don't see a difference in the output no matter what
>> the option order.)
>> Chet
>
> What's the bug? I can't reproduce this and always get "xx" no mater the
> option
> order.
----
Yeah... you're both right.
it happened if you execute the statement a 2nd time, the 1st time
set's up the 2nd time for success:
function xx {
typeset -gia foo=(1 2 NaN 3)
echo "foo=\"${foo[@]}\""
}
---
Executed the first time:
> xx
foo="1 2 NaN 3"
2nd time...(same func)
> xx
foo="1 2 0 3"
> I always assumed the -i attribute doesn't get set until after assigning the
> values, which is why:
---
I don't think so. Not from the above.
The first sets up an array outside the function composed of integers,
so the 2nd time I execute the same, it gets put through the "integer strainer".
The bug is that the "-i" isn't applied until after the array assignment
is done.. which isn't the case for scalars:
> declare -i v=xx
> echo $v
0
i.e. -i delays it's property effect until after the array has been assigned
which is why it works when you run it a 2nd time, but with scalars,
it works the 1st time. Same thing happens with the "upper/lower case"
attributes:
> declare -la low=(aa BBB cCC Ddd)
> echo ${low[@]}
aa BBB cCC Ddd
> declare -la low=(aa BBB cCC Ddd)
> echo ${low[@]}
aa bbb ccc ddd
(no function needed).
- Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Linda Walsh, 2013/07/14
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Chet Ramey, 2013/07/21
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Dan Douglas, 2013/07/21
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok,
Linda Walsh <=
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Dan Douglas, 2013/07/21
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Linda Walsh, 2013/07/22
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Dan Douglas, 2013/07/22
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Chet Ramey, 2013/07/22
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Linda Walsh, 2013/07/23
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Chet Ramey, 2013/07/27
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Linda Walsh, 2013/07/28
- Re: Minor bug declaring arrays of integers: dcl -ai=>broken, dcl -ia=>ok, Dan Douglas, 2013/07/28