diff options
| -rw-r--r-- | src/proc.c | 2 | ||||
| -rw-r--r-- | test/t/kernel.rb | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/proc.c b/src/proc.c index 3e9bf1f67..e27d5d578 100644 --- a/src/proc.c +++ b/src/proc.c @@ -137,7 +137,7 @@ proc_lambda(mrb_state *mrb, mrb_value self) p2->flags |= MRB_PROC_STRICT; return mrb_obj_value(p2); } - return self; + return blk; } void diff --git a/test/t/kernel.rb b/test/t/kernel.rb index 6e68b1b22..b96e85134 100644 --- a/test/t/kernel.rb +++ b/test/t/kernel.rb @@ -36,7 +36,9 @@ assert('Kernel.lambda', '15.3.1.2.6') do true end - l.call and l.class == Proc + m = Kernel.lambda(&l) + + l.call and l.class == Proc and m.call and m.class == Proc end # Not implemented at the moment @@ -235,7 +237,9 @@ assert('Kernel#lambda', '15.3.1.3.27') do true end - l.call and l.class == Proc + m = lambda(&l) + + l.call and l.class == Proc and m.call and m.class == Proc end # Not implemented yet |
