summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorPeter Stephenson <p.stephenson@samsung.com>2018-10-09 11:21:47 +0100
committerPeter Stephenson <p.stephenson@samsung.com>2018-10-09 11:21:47 +0100
commit9ede8c657f498c584d89a8d8ff3b24104711c88c (patch)
tree25bf7ec80bf2fd519cfdf595076fdfe5fd6c6f5d /Src
parentafee3c9a19264bc30be74afd2338df43c32232ad (diff)
downloadzsh-9ede8c657f498c584d89a8d8ff3b24104711c88c.tar.gz
zsh-9ede8c657f498c584d89a8d8ff3b24104711c88c.tar.xz
zsh-9ede8c657f498c584d89a8d8ff3b24104711c88c.zip
43656: special tied arrays don't have tieddata
Diffstat (limited to 'Src')
-rw-r--r--Src/builtin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Src/builtin.c b/Src/builtin.c
index b81acdb53..ca3ef23be 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -2258,7 +2258,7 @@ typeset_single(char *cname, char *pname, Param pm, UNUSED(int func),
 	    } else if (pm->env && !(pm->node.flags & PM_HASHELEM))
 		delenv(pm);
 	    DPUTS(ASG_ARRAYP(asg), "BUG: typeset got array value where scalar expected");
-	    if (altpm) {
+	    if (altpm && !(pm->node.flags & PM_SPECIAL)) {
 		struct tieddata* tdp = (struct tieddata *) pm->u.data;
 		if (tdp) {
 		    if (tdp->joinchar != joinchar && !asg->value.scalar) {