From 021f552c671a82e80aa2ac45ad9d3e81e0e345d4 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Mon, 30 Nov 2015 15:42:56 +0800 Subject: [PATCH] *improved stability for sub routine; *improved error handling with shell. --- HISTORY | 1 + core/my_basic.c | 13 +++---------- output/my_basic.exe | Bin 120832 -> 121344 bytes shell/main.c | 11 ++++++++--- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/HISTORY b/HISTORY index e040461..9a04127 100755 --- a/HISTORY +++ b/HISTORY @@ -1,5 +1,6 @@ Nov. 30 2015 Improved stability for sub routine +Improved error handling with shell Nov. 26 2015 Raised error for invalid routine usage diff --git a/core/my_basic.c b/core/my_basic.c index b8ded9c..79549ef 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -3620,16 +3620,9 @@ _end_import: goto _exit; } if(glbsyminscope && ((_object_t*)(glbsyminscope->data))->type == _DT_VAR) { - tmp.obj = (_object_t*)(glbsyminscope->data); - if(!tmp.obj->ref) { - _ht_remove(running->var_dict, sym, _ls_cmp_extra_string); - _dispose_object(tmp.obj); - } - tmp.obj->type = _DT_ROUTINE; - tmp.obj->data.routine = (_routine_t*)mb_malloc(sizeof(_routine_t)); - _init_routine(s, tmp.obj->data.routine, sym); - _push_scope(s, tmp.obj->data.routine->scope); - _ht_set_or_insert(running->var_dict, sym, tmp.obj); + _handle_error_now(s, SE_RN_INVALID_ROUTINE, 0, MB_FUNC_ERR); + + goto _exit; } if(_IS_FUNC(context->last_symbol, _core_def)) { diff --git a/output/my_basic.exe b/output/my_basic.exe index 37cbba47a39a07ef801a2ae502efea57e15003d0..52ad1dd72d7095ff4d0a58d706af4331aa350ad1 100755 GIT binary patch delta 21875 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%0DiNHl4tU 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 q%e3;KAHqqw3* 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 diff --git a/shell/main.c b/shell/main.c index d13e2d0..9d60afc 100755 --- a/shell/main.c +++ b/shell/main.c @@ -703,9 +703,14 @@ static int _do_line(void) { int i = 0; mb_assert(c); result = mb_reset(&bas, false); - for(i = 0; i < c->count; ++i) - mb_load_string(bas, c->lines[i]); - result = mb_run(bas); + for(i = 0; i < c->count; ++i) { + if(result) + break; + + result = mb_load_string(bas, c->lines[i]); + } + if(result == MB_FUNC_OK) + result = mb_run(bas); _printf("\n"); } else if(_str_eq(line, "BYE")) { result = MB_FUNC_BYE;