diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sample/test.rb | 4 | ||||
-rw-r--r-- | test/ruby/test_system.rb | 4 |
3 files changed, 10 insertions, 4 deletions
@@ -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 |