[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: delcare -a on a nameref in a function modifies nameref instead of ta
From: |
Grisha Levit |
Subject: |
Re: delcare -a on a nameref in a function modifies nameref instead of target |
Date: |
Mon, 6 Aug 2018 22:13:58 -0400 |
A few more problematic test cases in this vein (tested against latest
devel snapshot 20180803).
f() { local -n ref=var; local -A ref=([1]=); ref=([2]=); declare -p ref var; }
unset ref var; f
# declare -An ref=()
# declare -A var=([1]="" )
declare -p ref
# declare -a ref=([2]="")
unset ref; var=0; f
# declare -An ref=([1]="" )
# declare -- var="0"
declare -p ref
# declare -a ref=([2]="")
f() { local -n ref=var; local -a ref=([1]=); ref=([2]=); declare -p ref var; }
unset ref var; f
# declare -an ref=()
# declare -a var=([1]="")
declare -p ref
# declare -a ref=([2]="")
unset ref; var=0; f
# declare -an ref=([1]="")
# declare -- var="0"
declare -p ref
# declare -a ref=([2]="")
# same issues for `local -[iluctrx] ref=...'
f() { local -n ref=var; local -i ref=([1]=); declare -p ref var; }
unset var; f
# declare -in ref="var"
# declare -ai var=([1]="0")
var=0; f
# declare -in ref="var"
# declare -a var=([1]="")
# same issue for `local -[ilucAa] ref=...'
f() { local -n ref=var; local ref=1; declare -p ref var; }; var=0; f
var=0; f
# bash: local: `1': invalid variable name for name reference
# declare -n ref="var"
# declare -- var="0"
- Re: delcare -a on a nameref in a function modifies nameref instead of target,
Grisha Levit <=