From da2d8f1251bd39a3a81e79e80c90adc35e7f9f16 Mon Sep 17 00:00:00 2001 From: paladin-t Date: Tue, 5 Apr 2016 10:51:49 +0800 Subject: [PATCH] +added a warning when a "tostring" meta method didn't return a string. --- HISTORY | 3 +++ core/my_basic.c | 2 ++ output/my_basic.exe | Bin 367616 -> 367616 bytes 3 files changed, 5 insertions(+) diff --git a/HISTORY b/HISTORY index dd05d92..fd8b83f 100755 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,6 @@ +Apr. 5 2016 +Added a warning when a "tostring" meta method didn't return a string + Mar. 29 2016 Added a help option to the shell diff --git a/core/my_basic.c b/core/my_basic.c index 8eeaf6b..8d8d81b 100755 --- a/core/my_basic.c +++ b/core/my_basic.c @@ -15276,6 +15276,8 @@ _print: val_ptr->data.string = mb_strdup(val_ptr->data.string, strlen(val_ptr->data.string) + 1); val_ptr->ref = false; mb_make_nil(s->running_context->intermediate_value); + } else { + _handle_error_on_obj(s, SE_RN_STRING_EXPECTED, s->source_file, DON(ast), MB_FUNC_WARNING, _exit, result); } obj = val_ptr; got_tostr = true; diff --git a/output/my_basic.exe b/output/my_basic.exe index 668e15815ee57a5e5f85fc1ac3f65ab5b074afb6..e3023d981dd7881a1219e4e6de54ec5e4d3298e8 100755 GIT binary patch delta 11297 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 z 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 B=57E0 delta 11206 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