diff --git a/HISTORY b/HISTORY index 09d4dc2..f5f17ab 100755 --- a/HISTORY +++ b/HISTORY @@ -6,6 +6,7 @@ Fixed some memory leak with lambda Fixed a multiple disposing bug with string expression calculation Improved GC with outer scopes of lambda Fixed some other minor bugs with lambda +Fixed a wrong disposing bug when accessing a collection by brackets Jan. 11 2016 Fixed a crash bug when a DO-UNTIL statement is the end of a program diff --git a/core/my_basic.c b/core/my_basic.c index 8a15998..fc52152 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3027,13 +3027,10 @@ _routine: mb_check(mb_attempt_close_bracket(s, (void**)l)); - _dispose_object(c); + c = _create_object(); + _ls_pushback(garbage, c); _public_value_to_internal_object(&ret, c); - mb_make_nil(ret); - _internal_object_to_public_value(ocoll, &ret); - _assign_public_value(&ret, 0); - ast = (_ls_node_t*)*l; } diff --git a/output/my_basic.exe b/output/my_basic.exe index 458ffb2..389bd17 100755 Binary files a/output/my_basic.exe and b/output/my_basic.exe differ