From ce720ca0dc2b66d50eabdbc335d5369366b6bd61 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 2 Feb 2009 03:39:01 +0000 Subject: * 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 --- ChangeLog | 6 ++++++ sample/test.rb | 4 ++-- test/ruby/test_system.rb | 4 ++-- 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 + + * 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 * 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 -- cgit v1.2.3