commit bash-20160617 snapshot

This commit is contained in:
Chet Ramey
2016-06-20 15:30:31 -04:00
parent fe17e988f9
commit ae0865bc25
13 changed files with 204 additions and 31 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
BUILD_DIR=/usr/local/build/bash/bash-current
BUILD_DIR=/usr/local/build/chet/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR
+1
View File
@@ -17,3 +17,4 @@ A1
A2
B1
B2
HI -- 42 -- 0 42
+10
View File
@@ -18,3 +18,13 @@ echo -e 'A\nB' | while read letter; do
done
rm -f $TMPDIR/outfile
unset -f myPipefunc
myPipefunc()
{
cat | read var
return 42
}
echo HI | myPipefunc
echo $var -- $? -- ${PIPESTATUS[@]}
+38
View File
@@ -320,6 +320,20 @@ declare -n ref="var[@]"
./nameref15.sub: line 48: var[@]: bad array subscript
declare -n bar="var[@]"
./nameref15.sub: line 53: var[@]: bad array subscript
declare -n a="b"
declare -n b="a[1]"
./nameref15.sub: line 61: warning: a: removing nameref attribute
declare -a a=([1]="foo")
declare -n b="a[1]"
./nameref15.sub: line 66: warning: a: removing nameref attribute
declare -a a=([1]="foo")
declare -n b="a[1]"
declare -n n="v"
declare -a v=([1]="1")
./nameref15.sub: line 82: typeset: n: not found
declare -a v=([0]="0" [1]="1")
declare -n n="v[1]"
declare -a v=([0]="0")
declare -n r1="y"
declare -n r2="x"
./nameref16.sub: line 12: typeset: x: not found
@@ -372,3 +386,27 @@ declare -nr foo5
declare -r foo5
declare -nr foo5
declare -r foo5
./nameref18.sub: line 2: mapfile: `XXX[0]': not a valid identifier
./nameref18.sub: line 3: declare: XXX[0]: not found
./nameref18.sub: line 9: `XXX[0]': not a valid identifier
./nameref18.sub: line 10: declare: XXX[0]: not found
declare -n ref="XXX[0]"
declare -a XXX=([0]="4")
./nameref18.sub: line 24: `XXX[0]': not a valid identifier
declare -n ref="XXX[0]"
./nameref18.sub: line 25: declare: XXX[0]: not found
./nameref18.sub: line 29: read: `XXX[0]': not a valid identifier
./nameref18.sub: line 30: declare: XXX[0]: not found
./nameref18.sub: line 35: `XXX[0]': not a valid identifier
declare -n ref="XXX[0]"
./nameref18.sub: line 38: `XXX[0]': not a valid identifier
./nameref18.sub: line 38: declare: XXX[0]: not found
declare -n ref="var[123]"
./nameref18.sub: line 46: declare: var[123]: not found
declare -a var=([123]="")
declare -n ref="var[123]"
./nameref18.sub: line 50: declare: var[123]: not found
declare -a var=([123]="")
declare -n ref="var[123]"
./nameref18.sub: line 54: declare: var[123]: not found
declare -a var=([123]="X")
+3 -17
View File
@@ -115,20 +115,6 @@ declare -n v=var
echo ${!x//c/x}
echo ${v//c/x}
${THIS_SH} ./nameref1.sub
${THIS_SH} ./nameref2.sub
${THIS_SH} ./nameref3.sub
${THIS_SH} ./nameref4.sub
${THIS_SH} ./nameref5.sub
${THIS_SH} ./nameref6.sub
${THIS_SH} ./nameref7.sub
${THIS_SH} ./nameref8.sub
${THIS_SH} ./nameref9.sub
${THIS_SH} ./nameref10.sub
${THIS_SH} ./nameref11.sub
${THIS_SH} ./nameref12.sub
${THIS_SH} ./nameref13.sub
${THIS_SH} ./nameref14.sub
${THIS_SH} ./nameref15.sub
${THIS_SH} ./nameref16.sub
${THIS_SH} ./nameref17.sub
for testfile in ./nameref[0-9].sub ./nameref[1-9][0-9].sub ; do
${THIS_SH} "$testfile"
done
+35
View File
@@ -51,3 +51,38 @@ typeset -n bar
bar=var[@]
typeset -p bar
bar=7
unset a b
unset -n a b
typeset -n a=b b
b=a[1]
typeset -p a b
a=foo
typeset -p a b
unset a
typeset -n a=b
declare a=foo
typeset -p a b
unset n v
unset -n n v
v=(0 1)
typeset -n n=v
unset n[0]
typeset -p n v
unset -n n
v=(0 1)
typeset -n n=v
unset -n n
typeset -p n v
v=(0 1)
declare -n n=v[1]
unset n
declare -p n v
+54
View File
@@ -0,0 +1,54 @@
declare -n ref=XXX[0]
mapfile ref <<< $'1\n2'
declare -p XXX[0]
unset -n ref
declare -n ref=XXX[0]
declare -A ref
ref[foo]=bar
declare -p XXX[0]
unset -n ref
unset XXX
typeset -n ref=XXX[0]
typeset ref=4
typeset -p ref XXX
unset -n ref
unset XXX
declare -n ref=XXX[0]
ref+=([2]=x)
declare -p ref XXX[0]
unset -n ref
declare -n ref=XXX[0]
read -a ref <<< "A B C"
declare -p XXX[0]
unset -n ref
declare -n ref=XXX[0]
unset ref
ref=()
declare -p ref
coproc ref { :; }; declare -p ${!ref}
wait
unset -n ref
declare -n ref=var[123]
unset ref
declare ref=
declare -p ref ${!ref} var
unset ref
declare ref+=
declare -p ref ${!ref} var
declare +t ref
ref=X
declare -p ref ${!ref} var