From 564d34cd2370640f8087e51924523764e81a452b Mon Sep 17 00:00:00 2001 From: Wang Renxin Date: Tue, 20 Oct 2015 19:49:24 +0800 Subject: [PATCH] *fixed a scope manipulation bug when evaluating a none parameter routine, thanks to Cybermonkey342 and John for pointing it out. --- core/my_basic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/my_basic.c b/core/my_basic.c index 3909e16..7081809 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -79,7 +79,7 @@ extern "C" { /** Macros */ #define _VER_MAJOR 1 #define _VER_MINOR 1 -#define _VER_REVISION 89 +#define _VER_REVISION 90 #define _VER_SUFFIX #define _MB_VERSION ((_VER_MAJOR * 0x01000000) + (_VER_MINOR * 0x00010000) + (_VER_REVISION)) #define _STRINGIZE(A) _MAKE_STRINGIZE(A) @@ -2785,6 +2785,9 @@ int _eval_routine(mb_interpreter_t* s, _ls_node_t** l, mb_value_t* va, unsigned } } running = _pop_weak_scope(s, running); + } else { + running = _push_weak_scope(s, r->scope, r); + running = _pop_weak_scope(s, running); } if(!va) {