From 2936ba19aa7066771e6aaa9d95a9c9f642af7d0c Mon Sep 17 00:00:00 2001 From: Masamitsu MURASE Date: Wed, 18 Jul 2012 02:11:43 +0900 Subject: proc_lambda should return blk instead of self. --- src/proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 -- cgit v1.2.3 From e6f1e7b899e25c523a43fab59d7f536877bd05ce Mon Sep 17 00:00:00 2001 From: Masamitsu MURASE Date: Wed, 18 Jul 2012 02:25:34 +0900 Subject: Add tests for Kernel#lambda and Kernel.lambda. --- test/t/kernel.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/t/kernel.rb b/test/t/kernel.rb index 4f1d2b42f..da818778a 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 -- cgit v1.2.3