summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sample/test.rb12
2 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b4e161e6c..234375dc3 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 e6a500c4b..4ff909ef1 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