diff options
Diffstat (limited to 'Src/builtin.c')
-rw-r--r-- | Src/builtin.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Src/builtin.c b/Src/builtin.c index 691734221..68ebead7e 100644 --- a/Src/builtin.c +++ b/Src/builtin.c @@ -2890,6 +2890,8 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func) * * Don't attempt to set it yet, it's too early * to be exported properly. + * + * This creates the array with PM_DECLAREDNULL. */ asg2.name = asg->name; asg2.flags = 0; @@ -2933,6 +2935,10 @@ bin_typeset(char *name, char **argv, LinkList assigns, Options ops, int func) assignaparam(asg->name, zlinklist2array(asg->value.array, 1), flags); } else if (oldval) assignsparam(asg0.name, oldval, 0); + else /*if (asg0.value.scalar)*/ { + /* We have to undo what we did wrong with asg2 */ + apm->node.flags &= ~PM_DECLAREDNULL; + } unqueue_signals(); return 0; |