Bug #4385: YAML encoding error
http://redmine.ruby-lang.org/issues/show/4385

Author: Andrey Stikheev
Status: Open, Priority: Normal
Category: lib, Target version: Ruby 1.8.7
ruby -v: ruby 1.8.7 (2010-12-23 patchlevel 330) [i686-darwin10.6.0]

I'm found a strange behavior of YAML in ruby 1.8.7 on simple string:

ruby-1.8.7-p330 :002 > require 'yaml'
 => true 
ruby-1.8.7-p330 :003 > YAML::load("\n {\n}".to_yaml)
ArgumentError: syntax error on line 3, col 0: `}'
	from /Users/sand/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/yaml.rb:133:in `load'
	from /Users/sand/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/yaml.rb:133:in `load'
	from (irb):3


In ruby 1.9.2 seems to be all fine:

ruby-1.9.2-head :011 >   require 'yaml'
 => true 
ruby-1.9.2-head :012 > YAML::load("\n {\n}".to_yaml)
 => "\n {\n}" 


Encoding results:

ruby-1.9.2-head :002 > "\n {\n}".to_yaml
 => "--- \"\\n {\\n\\\n}\"\n" 

ruby-1.8.7-p330 :002 > "\n {\n}".to_yaml
 => "--- |-\n\n {\n}\n" 




I'm check this on Mac OS and FreeBSD:

Darwin 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386
FreeBSD 8.0-STABLE FreeBSD 8.0-STABLE


----------------------------------------
http://redmine.ruby-lang.org