about summary refs log tree commit diff
path: root/Src/params.c
diff options
context:
space:
mode:
authorBart Schaefer <schaefer@ipost.com>2020-12-04 16:14:28 -0800
committerBart Schaefer <schaefer@ipost.com>2021-04-13 21:18:35 -0700
commit69bd4a197c0df766d84dcaadbd76bc7a8e94a6ce (patch)
tree354c33b7489f4f814b34b79760d62cfd670949d9 /Src/params.c
parent733c166115841e42c39a5a11fed0a3e79b12d7d1 (diff)
downloadzsh-69bd4a197c0df766d84dcaadbd76bc7a8e94a6ce.tar.gz
zsh-69bd4a197c0df766d84dcaadbd76bc7a8e94a6ce.tar.xz
zsh-69bd4a197c0df766d84dcaadbd76bc7a8e94a6ce.zip
Final repairs for declared state of tied arrays
Fixups still required in bin_typeset, but assignments to scalar work.
Diffstat (limited to 'Src/params.c')
-rw-r--r--Src/params.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Src/params.c b/Src/params.c
index 1a047d9e0..c09a3eccf 100644
--- a/Src/params.c
+++ b/Src/params.c
@@ -4125,6 +4125,11 @@ tiedarrsetfn(Param pm, char *x)
 
     if (*dptr->arrptr)
 	freearray(*dptr->arrptr);
+    else if (pm->ename) {
+	Param altpm = (Param) paramtab->getnode(paramtab, pm->ename);
+	if (altpm)
+	    altpm->node.flags &= ~PM_DECLAREDNULL;
+    }
     if (x) {
 	char sepbuf[3];
 	if (imeta(dptr->joinchar))