From 9612bd51f4bf7da06c34081d7b7e81e826746fdd Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 19 Jun 2006 08:19:18 +0000 Subject: [PATCH] * sample/test.rb (proc_return3): return within non lambda block should terminate surrounding method. [ruby-dev:28741] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ sample/test.rb | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) 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