From dc09000f015eb76052274a8111cdf2d6a85e4506 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 24 Dec 2023 13:56:25 +0900 Subject: [PATCH] Fixed return value of `OP_RETURN_BLK` called directly under C function ```ruby def cross; Class.new { return 1 }; end; p cross' # => # # without this patch # => 1 # with this patch ``` --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 390d0742b..6241c5f25 100644 --- a/src/vm.c +++ b/src/vm.c @@ -2300,7 +2300,7 @@ RETRY_TRY_BLOCK: mrb_callinfo *ci = mrb->c->ci; - if (ci->cci != CINFO_NONE || !MRB_PROC_ENV_P(proc) || MRB_PROC_STRICT_P(proc)) { + if (!MRB_PROC_ENV_P(proc) || MRB_PROC_STRICT_P(proc)) { goto NORMAL_RETURN; }