1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted

Symbols broken. [ruby-Bugs:2535] (written by Aaron Schrab)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ocean 2006-01-10 03:05:40 +00:00
parent e65879b309
commit 9ee62cee66
3 changed files with 20 additions and 2 deletions

View file

@ -1,3 +1,8 @@
Tue Jan 10 12:00:48 2006 Aaron Schrab <aaron @nospam@ schrab.com>
* lib/yaml/rubytypes.rb (Symbol#yaml_new): YAML loading of quoted
Symbols broken. [ruby-Bugs:2535]
Mon Jan 9 19:54:35 2006 arton <artonx@yahoo.co.jp> Mon Jan 9 19:54:35 2006 arton <artonx@yahoo.co.jp>
* ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by * ext/zlib/extconf.rb: zlib compiled DLL version 1.2.3 distributed by
@ -8,8 +13,9 @@ Mon Jan 9 14:17:12 2006 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
* win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag, * win32/Makefile.sub (OPTFLAGS): I have experienced trouble on y- flag,
(VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040] (VisualC++6) so use -O2b2xg- if $(MSC_VER) < 1400. [ruby-core:7040]
* lib/webrick/httpservlet/filehandler.rb: fixed typo. (Kero van Gelder) Mon Jan 9 14:17:12 2006 Kero van Gelder <rubyforge @nospam@ kero.tmfweb.nl>
[ruby-core:7075]
* lib/webrick/httpservlet/filehandler.rb: fixed typo. [ruby-core:7075]
Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> Sat Jan 7 15:40:07 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>

View file

@ -183,6 +183,7 @@ class Symbol
yaml_as "tag:ruby.yaml.org,2002:sym" yaml_as "tag:ruby.yaml.org,2002:sym"
def Symbol.yaml_new( klass, tag, val ) def Symbol.yaml_new( klass, tag, val )
if String === val if String === val
val = YAML::load( val ) if val =~ /\A(["']).*\1\z/
val.intern val.intern
else else
raise YAML::TypeError, "Invalid Symbol: " + val.inspect raise YAML::TypeError, "Invalid Symbol: " + val.inspect

View file

@ -1225,6 +1225,17 @@ EOY
inspect_str = "[[...], [...]]" inspect_str = "[[...], [...]]"
assert_equal( inspect_str, YAML::load( a.to_yaml ).inspect ) assert_equal( inspect_str, YAML::load( a.to_yaml ).inspect )
end end
#
# Test Symbol cycle
#
def test_symbol_cycle
#
# From Aaron Schrab [ruby-Bugs:2535]
#
assert_cycle(:"^foo")
end
end end
if $0 == __FILE__ if $0 == __FILE__