BASH PATCH REPORT ================= Bash-Release: 5.2 Patch-ID: bash52-024 Bug-Reported-by: Marco Bug-Reference-ID: Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-02/msg00044.html Bug-Description: Fix bug where associative array compound assignment would not expand tildes in values. Patch (apply with `patch -p0'): *** ../bash-20230105/arrayfunc.c Thu Jan 5 14:23:28 2023 --- arrayfunc.c Wed Feb 8 16:27:48 2023 *************** *** 651,655 **** } ! aval = expand_subscript_string (v, 0); if (aval == 0) { --- 651,655 ---- } ! aval = expand_assignment_string_to_string (v, 0); if (aval == 0) { *************** *** 843,847 **** if (assoc_p (var)) { ! val = expand_subscript_string (val, 0); if (val == 0) { --- 843,847 ---- if (assoc_p (var)) { ! val = expand_assignment_string_to_string (val, 0); if (val == 0) { *************** *** 1031,1035 **** nword[i++] = w[ind++]; ! t = expand_subscript_string (w+ind, 0); s = (t && strchr (t, CTLESC)) ? quote_escapes (t) : t; value = sh_single_quote (s ? s : ""); --- 1031,1035 ---- nword[i++] = w[ind++]; ! t = expand_assignment_string_to_string (w+ind, 0); s = (t && strchr (t, CTLESC)) ? quote_escapes (t) : t; value = sh_single_quote (s ? s : ""); *** ../bash-20230201/subst.c Mon Jan 30 16:19:46 2023 --- subst.c Mon Feb 6 16:25:22 2023 *************** *** 10803,10807 **** --- 10803,10811 ---- ret = (char *)NULL; + #if 0 td.flags = W_NOPROCSUB|W_NOTILDE|W_NOSPLIT2; /* XXX - W_NOCOMSUB? */ + #else + td.flags = W_NOPROCSUB|W_NOSPLIT2; /* XXX - W_NOCOMSUB? */ + #endif td.word = savestring (string); /* in case it's freed on error */ *** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 --- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 *************** *** 26,30 **** looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 23 #endif /* _PATCHLEVEL_H_ */ --- 26,30 ---- looks for to find the patch level (for the sccs version string). */ ! #define PATCHLEVEL 24 #endif /* _PATCHLEVEL_H_ */