summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index e4445c1bf..a3a73fafa 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -2165,14 +2165,20 @@ codegen(codegen_scope *s, node *tree, int val)
case NODE_INT:
case NODE_STR:
if (nt == NODE_UNTIL) {
- if (val) genop_1(s, OP_LOADNIL, cursp());
+ if (val) {
+ genop_1(s, OP_LOADNIL, cursp());
+ push();
+ }
goto exit;
}
break;
case NODE_FALSE:
case NODE_NIL:
if (nt == NODE_WHILE) {
- if (val) genop_1(s, OP_LOADNIL, cursp());
+ if (val) {
+ genop_1(s, OP_LOADNIL, cursp());
+ push();
+ }
goto exit;
}
break;