summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eval.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 2eb5abd..6b59c74 100644
--- a/eval.c
+++ b/eval.c
@@ -238,7 +238,10 @@ nameis(Datum left, Datum right)
Datum
assign(Datum left, Datum right)
{
- left.symbol->value = right; /* TODO think about this*/
+ if(left.symbol->undefined == 0)
+ freearray(left.symbol->value.array);
+
+ left.symbol->value = right;
left.symbol->undefined = 0;
if(left.symbol->value.tag == ArrayTag){
left.symbol->value.array->stranded = 0;