diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 3651d53c3..bddf40c4e 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -6667,6 +6667,9 @@ codegen(codegen_scope *s, node *tree, int val) /* End of pattern matching */ dispatch(s, match_pos); + /* Restore sp to match success path value */ + s->sp = saved_sp - 1; + if (val) push(); } else { /* Pattern always matches - pop value and push result if needed */