c=${var:4}
expect nothing
recho $c
-expect '<./new-exp.tests: -2: substring expression < 0>'
+# as of bash-4.2, negative LENGTH means offset from the end
c=${var:0:-2}
+expect '<a>'
+recho $c
var=abcdefghi
c=${var:3:12}
echo ${var[@]##?}
echo ${var##?}
+unset var
+var=(abcde abcfg abchi)
+
+# problems with anchoring pattern replacements
+echo ${var[*]//#abc/foo}
+echo ${var[*]/#abc/foo}
+unset var
+
${THIS_SH} ./new-exp6.sub
+${THIS_SH} ./new-exp7.sub
+
+${THIS_SH} ./new-exp8.sub
+
+# tests to check whether things like indirect expansion of a variable whose
+# value is 'anothervar[@]' stop working
+${THIS_SH} ./new-exp9.sub
+
+# problems with stray CTLNUL in bash-4.0-alpha
+unset a
+a=/a
+recho "/${a%/*}"
+recho "/${a///a/}"
+
# this must be last!
expect $0: 'ABXD: parameter unset'
recho ${ABXD:?"parameter unset"}