From 1e74cc7121323e2ea478882b8208e1ce0ffb556a Mon Sep 17 00:00:00 2001 From: paladin-t Date: Mon, 11 Apr 2016 18:47:03 +0800 Subject: [PATCH] *fixed a calculation issue with the not statement. --- HISTORY | 3 +++ core/my_basic.c | 8 +++++++- output/my_basic.exe | Bin 367616 -> 367616 bytes 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index fd8b83f..a1009a9 100755 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,6 @@ +Apr. 11 2016 +Fixed a calculation issue with the NOT statement + Apr. 5 2016 Added a warning when a "tostring" meta method didn't return a string diff --git a/core/my_basic.c b/core/my_basic.c index 8d8d81b..24a918c 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -12635,6 +12635,7 @@ static int _core_or(mb_interpreter_t* s, void** l) { /* Operator NOT */ static int _core_not(mb_interpreter_t* s, void** l) { int result = MB_FUNC_OK; + _ls_node_t* ast = 0; mb_value_t arg; _running_context_t* running = 0; int calc_depth = 0; @@ -12642,9 +12643,14 @@ static int _core_not(mb_interpreter_t* s, void** l) { mb_assert(s && l); running = s->running_context; + ast = *l; + if(ast) ast = ast->next; calc_depth = running->calc_depth; - running->calc_depth = 1; + if(ast && _IS_FUNC((_object_t*)ast->data, _core_open_bracket)) + running->calc_depth = _INFINITY_CALC_DEPTH; + else + running->calc_depth = 1; mb_make_nil(arg); diff --git a/output/my_basic.exe b/output/my_basic.exe index e3023d981dd7881a1219e4e6de54ec5e4d3298e8..22a0e940ed34012f7b3273ded1a89cb217f0e1dd 100755 GIT binary patch delta 16020 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 V(MTdCT_wFx?D4j}tLpS-{|CMt!{q<~