diff --git a/chaiscript/chaiscript_eval.hpp b/chaiscript/chaiscript_eval.hpp index 3a72fc9..12b1f3f 100644 --- a/chaiscript/chaiscript_eval.hpp +++ b/chaiscript/chaiscript_eval.hpp @@ -556,8 +556,9 @@ namespace chaiscript retval = eval_token(ss, node->children[i]); } catch (const chaiscript::ReturnValue &rv) { + ss.pop_scope(); retval = rv.retval; - break; + throw; } catch (...) { ss.pop_scope(); diff --git a/chaiscript/chaiscript_prelude.hpp b/chaiscript/chaiscript_prelude.hpp index 1b93082..8a5d6f3 100644 --- a/chaiscript/chaiscript_prelude.hpp +++ b/chaiscript/chaiscript_prelude.hpp @@ -139,7 +139,7 @@ def generate_range(x, y) { \n\ var i = x; \n\ var retval = Vector(); \n\ while (i <= y) { \n\ - retval.push_back(clone(i)); \n\ + retval.push_back(i); \n\ ++i; \n\ } \n\ retval \n\