ruby-changes:20761
From: nobu <ko1@a...>
Date: Tue, 2 Aug 2011 11:42:29 +0900 (JST)
Subject: [ruby-changes:20761] nobu:r32809 (ruby_1_9_3, trunk): * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136]
nobu 2011-08-02 11:42:17 +0900 (Tue, 02 Aug 2011) New Revision: 32809 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32809 Log: * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136] Modified files: branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/parse.y branches/ruby_1_9_3/test/ruby/test_symbol.rb trunk/ChangeLog trunk/test/ruby/test_symbol.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 32808) +++ ChangeLog (revision 32809) @@ -1,3 +1,7 @@ +Tue Aug 2 11:42:15 2011 Nobuyoshi Nakada <nobu@r...> + + * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136] + Tue Aug 2 07:33:29 2011 URABE Shyouhei <shyouhei@r...> * test/net/http/test_http.rb (TestNetHTTP_version_1_1_methods#test_timeout_during_HTTP_session): Index: test/ruby/test_symbol.rb =================================================================== --- test/ruby/test_symbol.rb (revision 32808) +++ test/ruby/test_symbol.rb (revision 32809) @@ -3,21 +3,25 @@ class TestSymbol < Test::Unit::TestCase # [ruby-core:3573] - def assert_eval_inspected(sym) + def assert_eval_inspected(sym, valid = true) n = sym.inspect + if valid + bug5136 = '[ruby-dev:44314]' + assert_not_match(/\A:"/, n, bug5136) + end assert_nothing_raised(SyntaxError) {assert_equal(sym, eval(n))} end def test_inspect_invalid # 2) Symbol#inspect sometimes returns invalid symbol representations: assert_eval_inspected(:"!") - assert_eval_inspected(:"=") - assert_eval_inspected(:"0") + assert_eval_inspected(:"=", false) + assert_eval_inspected(:"0", false) assert_eval_inspected(:"$1") - assert_eval_inspected(:"@1") - assert_eval_inspected(:"@@1") - assert_eval_inspected(:"@") - assert_eval_inspected(:"@@") + assert_eval_inspected(:"@1", false) + assert_eval_inspected(:"@@1", false) + assert_eval_inspected(:"@", false) + assert_eval_inspected(:"@@", false) end def assert_inspect_evaled(n) Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 32808) +++ ruby_1_9_3/ChangeLog (revision 32809) @@ -1,3 +1,7 @@ +Tue Aug 2 11:42:15 2011 Nobuyoshi Nakada <nobu@r...> + + * parse.y (rb_enc_symname2_p): :! is valid symbol. [Bug #5136] + Tue Aug 2 03:26:02 2011 NAKAMURA Usaku <usa@r...> * test/rake/test_rake_directory_task.rb (TestRakeDirectoryTask# Index: ruby_1_9_3/parse.y =================================================================== --- ruby_1_9_3/parse.y (revision 32808) +++ ruby_1_9_3/parse.y (revision 32809) @@ -9738,7 +9738,7 @@ break; case '!': - if (len == 1) return FALSE; + if (len == 1) return TRUE; switch (*++m) { case '=': case '~': ++m; break; default: return FALSE; Index: ruby_1_9_3/test/ruby/test_symbol.rb =================================================================== --- ruby_1_9_3/test/ruby/test_symbol.rb (revision 32808) +++ ruby_1_9_3/test/ruby/test_symbol.rb (revision 32809) @@ -3,21 +3,25 @@ class TestSymbol < Test::Unit::TestCase # [ruby-core:3573] - def assert_eval_inspected(sym) + def assert_eval_inspected(sym, valid = true) n = sym.inspect + if valid + bug5136 = '[ruby-dev:44314]' + assert_not_match(/\A:"/, n, bug5136) + end assert_nothing_raised(SyntaxError) {assert_equal(sym, eval(n))} end def test_inspect_invalid # 2) Symbol#inspect sometimes returns invalid symbol representations: assert_eval_inspected(:"!") - assert_eval_inspected(:"=") - assert_eval_inspected(:"0") + assert_eval_inspected(:"=", false) + assert_eval_inspected(:"0", false) assert_eval_inspected(:"$1") - assert_eval_inspected(:"@1") - assert_eval_inspected(:"@@1") - assert_eval_inspected(:"@") - assert_eval_inspected(:"@@") + assert_eval_inspected(:"@1", false) + assert_eval_inspected(:"@@1", false) + assert_eval_inspected(:"@", false) + assert_eval_inspected(:"@@", false) end def assert_inspect_evaled(n) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/