diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-05-12 02:58:00 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2012-05-12 02:58:00 -0700 |
| commit | 96819cf88188704f87746198a5fcc515d17a4676 (patch) | |
| tree | 5daee619b4bc3326dfde1e744edc693f073aa9f5 /src | |
| parent | 04f8ec7570e79a64c586414edbf8b607da1f1670 (diff) | |
| parent | 66df0ad0a8c3aa3b225c4e60899c2c3329d929d8 (diff) | |
| download | mruby-96819cf88188704f87746198a5fcc515d17a4676.tar.gz mruby-96819cf88188704f87746198a5fcc515d17a4676.zip | |
Merge pull request #117 from k-tsj/toplevel-return
Raise LocalJumpError when returning from top-level
Diffstat (limited to 'src')
| -rw-r--r-- | src/vm.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1002,6 +1002,10 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) switch (GETARG_B(i)) { case OP_R_NORMAL: + if (ci == mrb->cibase) { + localjump_error(mrb, "return"); + goto L_RAISE; + } ci = mrb->ci; break; case OP_R_BREAK: |
