aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-19 08:19:18 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-19 08:19:18 +0000
commit9612bd51f4bf7da06c34081d7b7e81e826746fdd (patch)
treeeb9cf108a8ce55b7663b607dd36e8a4eb472bc38
parente3cd29bc634381f198f1d3d4d445dd658986098a (diff)
downloadruby-9612bd51f4bf7da06c34081d7b7e81e826746fdd.tar.gz
* 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
-rw-r--r--ChangeLog5
-rw-r--r--sample/test.rb12
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 <matz@ruby-lang.org>
+
+ * 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 <matz@ruby-lang.org>
* 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