From a66e92918568881af110a3e2e3018b317c054e4a Mon Sep 17 00:00:00 2001
From: Mikael Magnusson <mikachu@gmail.com>
Date: Sat, 6 Apr 2024 00:19:53 +0200
Subject: [PATCH] 52878: Fix ${foo:^bar} where bar is an associative array

---
 ChangeLog   | 5 +++++
 Src/subst.c | 3 +++
 2 files changed, 8 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index 643a33dac..df3f9b73c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-04-07  Mikael Magnusson  <mikachu@gmail.com>
+
+	* 52878: Src/subst.c: Fix ${foo:^bar} where bar is an associative
+	array
+
 2024-04-01  Bart Schaefer  <schaefer@zsh.org>
 
 	* 52865: Doc/Zsh/expn.yo, Doc/Zsh/params.yo, Etc/FAQ.yo:
diff --git a/Src/subst.c b/Src/subst.c
index f0d6c7a7b..a079672df 100644
--- a/Src/subst.c
+++ b/Src/subst.c
@@ -3474,6 +3474,9 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
 	} else {
 	    char *sval;
 	    zip = getaparam(s);
+	    if (!zip) {
+		zip = gethparam(s);
+	    }
 	    if (!zip) {
 		sval = getsparam(s);
 		if (sval)