diff --git a/ChangeLog b/ChangeLog index b4e161e6c6..234375dc31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jun 19 17:02:14 2006 Yukihiro Matsumoto + + * sample/test.rb (proc_return3): return within non lambda block + should terminate surrounding method. [ruby-dev:28741] + Mon Jun 19 13:22:48 2006 Yukihiro Matsumoto * ext/socket/socket.c (unix_sysaccept): typo fixed. diff --git a/sample/test.rb b/sample/test.rb index e6a500c4b5..4ff909ef1e 100644 --- a/sample/test.rb +++ b/sample/test.rb @@ -1099,13 +1099,21 @@ def proc_yield() yield end def proc_return1 - proc_call{return 42}+1 + lambda{return 42}.call+1 end test_ok(proc_return1() == 43) def proc_return2 + ->{return 42}.call+1 +end +test_ok(proc_return2() == 43) +def proc_return3 + proc_call{return 42}+1 +end +test_ok(proc_return3() == 42) +def proc_return4 proc_yield{return 42}+1 end -test_ok(proc_return2() == 42) +test_ok(proc_return4() == 42) def ljump_test(state, proc, *args) x = state