summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 03:39:01 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-02 03:39:01 +0000
commitce720ca0dc2b66d50eabdbc335d5369366b6bd61 (patch)
tree8fc391820b2d123423d9c0f19522cd262b56a600
parent61fc0c6cf4de377a14a0ec0d64aea067e72fa755 (diff)
* sample/test.rb (valid_syntax?), test/ruby/test_system.rb
(TestSystem::valid_syntax?): use catch and throw instead of return inside BEGIN block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--sample/test.rb4
-rw-r--r--test/ruby/test_system.rb4
3 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 7717603197..48f746b64b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Feb 2 12:39:00 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * sample/test.rb (valid_syntax?), test/ruby/test_system.rb
+ (TestSystem::valid_syntax?): use catch and throw instead of
+ return inside BEGIN block.
+
Mon Feb 2 11:45:10 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/rubysocket.h (cmsg_type_arg): declared.
diff --git a/sample/test.rb b/sample/test.rb
index 21656885f6..03ab435e00 100644
--- a/sample/test.rb
+++ b/sample/test.rb
@@ -1931,9 +1931,9 @@ def valid_syntax?(code, fname)
p fname
code.force_encoding("ascii-8bit")
code = code.sub(/\A(?:\s*\#.*$)*(\n)?/n) {
- "#$&#{"\n" if $1 && !$2}BEGIN{return true}\n"
+ "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n"
}
- eval(code, nil, fname, 0)
+ catch {|tag| eval(code, binding, fname, 0)}
rescue Exception
STDERR.puts $!.message
false
diff --git a/test/ruby/test_system.rb b/test/ruby/test_system.rb
index ec8aca74cb..4aae0d54f1 100644
--- a/test/ruby/test_system.rb
+++ b/test/ruby/test_system.rb
@@ -6,9 +6,9 @@ class TestSystem < Test::Unit::TestCase
def valid_syntax?(code, fname)
code.force_encoding("ascii-8bit")
code = code.sub(/\A(?:\s*\#.*$)*(\n)?/n) {
- "#$&#{"\n" if $1 && !$2}BEGIN{return true}\n"
+ "#$&#{"\n" if $1 && !$2}BEGIN{throw tag, :ok}\n"
}
- eval(code, nil, fname, 0)
+ catch {|tag| eval(code, binding, fname, 0)}
end
def test_system