mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-01 09:29:51 +02:00
allow assignment to array keys @ and *; minor completion fix
This commit is contained in:
+1
-1
@@ -1,4 +1,4 @@
|
||||
BUILD_DIR=/usr/local/build/chet/bash/bash-current
|
||||
BUILD_DIR=/usr/local/build/bash/bash-current
|
||||
THIS_SH=$BUILD_DIR/bash
|
||||
PATH=$PATH:$BUILD_DIR
|
||||
|
||||
|
||||
+6
-7
@@ -747,16 +747,15 @@ argv[1] = <b+a>
|
||||
declare -A A=([$'\t']="2" [" "]="2" )
|
||||
./array27.sub: line 36: ((: A[]]=2 : syntax error: invalid arithmetic operator (error token is "]=2 ")
|
||||
declare -A A=([$'\t']="2" ["*"]="2" [" "]="2" ["@"]="2" )
|
||||
./array27.sub: line 45: A[]]: bad array subscript
|
||||
declare -A A=([$'\t']="2" ["*"]="2" [" "]="2" ["]"]="2" ["@"]="2" )
|
||||
./array27.sub: line 52: A[]]: bad array subscript
|
||||
declare -A A=([$'\t']="X" ["*"]="X" [" "]="X" ["@"]="X" )
|
||||
./array27.sub: line 53: A[]]: bad array subscript
|
||||
./array27.sub: line 60: A[]]: bad array subscript
|
||||
declare -A A=([$'\t']="X" ["*"]="X" [" "]="X" ["@"]="X" )
|
||||
./array27.sub: line 61: declare: `A[]]=X': not a valid identifier
|
||||
./array27.sub: line 68: declare: `A[]]=X': not a valid identifier
|
||||
declare -A A=(["*"]="X" ["@"]="X" )
|
||||
./array27.sub: line 76: declare: `A[]]=X': not a valid identifier
|
||||
declare -A A=(["*"]="X" ["@"]="X" )
|
||||
./array27.sub: line 69: declare: `A[]]=X': not a valid identifier
|
||||
./array27.sub: line 69: A[*]: bad array subscript
|
||||
./array27.sub: line 69: A[@]: bad array subscript
|
||||
declare -A A
|
||||
declare -a bug4=([0]="" [1]="5" [2]="" [3]="1" [4]="")
|
||||
declare -a bug=([0]="" [1]="5" [2]="" [3]="1" [4]="")
|
||||
declare -a bug2=([0]="")
|
||||
|
||||
+7
-1
@@ -38,6 +38,13 @@ done
|
||||
|
||||
declare -p A
|
||||
|
||||
unset A
|
||||
declare -A A
|
||||
for k in ']' '*' '@' $'\t' ' '; do
|
||||
A[$k]=2
|
||||
done
|
||||
declare -p A
|
||||
|
||||
unset A
|
||||
declare -A A
|
||||
|
||||
@@ -69,4 +76,3 @@ for k in ']' '*' '@'; do
|
||||
declare "A[$k]=X"
|
||||
done
|
||||
declare -p A
|
||||
|
||||
|
||||
+10
-11
@@ -16,25 +16,24 @@ declare -A wheat=([two]="b" [three]="c" [one]="a" [zero]="0" )
|
||||
declare -A chaff=(["hello world"]="flip" [one]="10" [zero]="5" )
|
||||
./assoc.tests: line 51: waste: readonly variable
|
||||
./assoc.tests: line 52: unset: waste: cannot unset: readonly variable
|
||||
./assoc.tests: line 53: chaff[*]: bad array subscript
|
||||
./assoc.tests: line 54: [*]=12: invalid associative array key
|
||||
declare -A chaff=(["hello world"]="flip" [one]="a" )
|
||||
declare -A chaff=(["*"]="12" ["hello world"]="flip" [one]="a" )
|
||||
flip
|
||||
argv[1] = <multiple>
|
||||
argv[2] = <words>
|
||||
argv[3] = <12>
|
||||
argv[4] = <flip>
|
||||
argv[5] = <a>
|
||||
argv[1] = <multiple words>
|
||||
argv[2] = <12>
|
||||
argv[3] = <flip>
|
||||
argv[4] = <a>
|
||||
argv[1] = <multiple words>
|
||||
argv[2] = <flip>
|
||||
argv[3] = <a>
|
||||
argv[1] = <multiple>
|
||||
argv[2] = <words>
|
||||
argv[3] = <flip>
|
||||
argv[4] = <a>
|
||||
argv[1] = <multiple words flip a>
|
||||
argv[3] = <12>
|
||||
argv[4] = <flip>
|
||||
argv[5] = <a>
|
||||
argv[1] = <multiple words 12 flip a>
|
||||
./assoc.tests: line 71: declare: chaff: cannot destroy array variables in this way
|
||||
./assoc.tests: line 73: chaff[*]: bad array subscript
|
||||
./assoc.tests: line 74: [*]=12: invalid associative array key
|
||||
declare -A wheat=([six]="6" ["foo bar"]="qux qix" )
|
||||
argv[1] = <qux>
|
||||
argv[2] = <qix>
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ declare +i chaff
|
||||
chaff[hello world]=flip
|
||||
declare -p chaff
|
||||
|
||||
# TEST - errors
|
||||
# TEST - no longer errors
|
||||
waste[stuff]=other
|
||||
unset waste
|
||||
chaff[*]=12
|
||||
|
||||
+2
-3
@@ -168,10 +168,9 @@ after bar: var=global
|
||||
./varenv13.sub: line 16: `var[0]': not a valid identifier
|
||||
./varenv13.sub: line 16: `var[@]': not a valid identifier
|
||||
./varenv13.sub: line 14: declare: var: not found
|
||||
./varenv13.sub: line 25: var[@]: bad array subscript
|
||||
declare -A var=([0]="X" )
|
||||
declare -A var=([0]="X" ["@"]="Y" )
|
||||
help
|
||||
./varenv13.sub: line 34: `var[0]': not a valid identifier
|
||||
./varenv13.sub: line 35: `var[0]': not a valid identifier
|
||||
1
|
||||
declare -A var=([0]="X" )
|
||||
declare -A var=([Y]="Y" )
|
||||
|
||||
@@ -22,6 +22,7 @@ typeset -A var
|
||||
|
||||
f() { declare -p ${!var*}; }
|
||||
|
||||
# this is no longer an error
|
||||
var[0]=X var[@]=Y
|
||||
f
|
||||
|
||||
|
||||
Reference in New Issue
Block a user