diff --git a/ChangeLog b/ChangeLog
index 371f08ca8..959f7d000 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,9 @@
2017-09-27 Peter Stephenson
+ * 41773: Test/D04parameter.ztst: Array index assignment tests
+ for KSH_ARRAYS.
+
* 41764 (test tweaked): Doc/Zsh/params.yo, Src/params.c,
Src/subst.c, Src/zsh.h, Test/D04parameter.ztst: allow
[key]+=value when modifying array or associative array.
diff --git a/Test/D04parameter.ztst b/Test/D04parameter.ztst
index d6ed6487b..5ffaaa126 100644
--- a/Test/D04parameter.ztst
+++ b/Test/D04parameter.ztst
@@ -2229,6 +2229,20 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
>three
>one
>two
+>three
+
+ (setopt KSH_ARRAYS
+ local keyvalarray
+ keyvalarray=([0]=one [2]=three)
+ print -l "${keyvalarray[@]}"
+ keyvalarray+=([1]=two)
+ print -l "${keyvalarray[@]}")
+0:[key]=val for normal arrays with KSH_ARRAYS
+>one
+>
+>three
+>one
+>two
>three
typeset -A keyvalhash
@@ -2256,6 +2270,17 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
print $keyvalarray
0:append to normal array using [key]=val
>7
+>1 2 3 4 5 6 7
+
+ (setopt KSH_ARRAYS
+ local keyvalarray
+ keyvalarray=(1 2 3)
+ keyvalarray+=([4]=5 [6]=7)
+ keyvalarray+=([3]=4 [5]=6)
+ print ${#keyvalarray[*]}
+ print ${keyvalarray[*]})
+0:append to normal array using [key]=val with KSH_ARRAYS
+>7
>1 2 3 4 5 6 7
local -A keyvalhash
@@ -2286,6 +2311,19 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
>
>fifth
>new_sixth
+>seventh
+
+ (setopt KSH_ARRAYS
+ local keyvalarray
+ keyvalarray=(first [1]=second third [5]=sixth seventh [4]=fifth new_sixth)
+ print -l "${keyvalarray[@]}")
+0:mixed syntax [key]=val with normal arrays with KSH_ARRAYS
+>first
+>second
+>third
+>
+>fifth
+>new_sixth
>seventh
local -A keyvalhash
@@ -2301,6 +2339,17 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
>KVA1one
>KVA2two
>KVA3three
+>*
+
+ (setopt KSH_ARRAYS
+ touch KVA1one KVA2two KVA3three
+ local keyvalarray
+ keyvalarray=(KVA* [3]=*)
+ print -l "${keyvalarray[@]}")
+0:Globbing in non-[key]=val parts of mixed syntax with KSH_ARRAYS
+>KVA1one
+>KVA2two
+>KVA3three
>*
local -a keyvalarray
@@ -2308,6 +2357,14 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
keyvalarray+=([1]+=a [2]=b)
print $keyvalarray
0:Append to element(s) of array
+>1a b 3
+
+ (setopt KSH_ARRAYS
+ local -a keyvalarray
+ keyvalarray=(1 2 3)
+ keyvalarray+=([0]+=a [1]=b)
+ print ${keyvalarray[*]})
+0:Append to element(s) of array with KSH_ARRAYS
>1a b 3
local -A keyvalhash
@@ -2326,7 +2383,15 @@ F:behavior, see http://austingroupbugs.net/view.php?id=888
local -a keyvalarray
keyvalarray=([1]=who [2]=anyway [1]+=is [1]+=that [1]+=mysterious [1]+=man)
print -rl -- "${keyvalarray[@]}"
-0:Append to element of associative array on creation
+0:Append to element of array on creation
+>whoisthatmysteriousman
+>anyway
+
+ (setopt KSH_ARRAYS
+ local -a keyvalarray
+ keyvalarray=([0]=who [1]=anyway [0]+=is [0]+=that [0]+=mysterious [0]+=man)
+ print -rl -- "${keyvalarray[@]}")
+0:Append to element of array on creation with KSH_ARRAYS
>whoisthatmysteriousman
>anyway