summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index aff3f73..e33c3b5 100644
--- a/eval.c
+++ b/eval.c
@@ -164,9 +164,11 @@ strand(Datum left, Datum right)
result.shy = 0;
Array *leftarr = left.array->stranded ? fnSame(left.array) : fnEnclose(left.array);
Array *rightarr = right.array->stranded ? fnSame(right.array) : fnEnclose(right.array);
+ Array *tmp = fnCatenateFirst(leftarr, rightarr);
result.tag = ArrayTag;
- result.array = fnCatenateFirst(leftarr, rightarr);
+ result.array = simplifyarray(tmp);
result.array->stranded = 1;
+ freearray(tmp);
freearray(leftarr);
freearray(rightarr);
return result;