Backport #4329
closedYAML escaping/parsing error
Description
=begin
Some 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}"
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
=end
Updated by sand (Andrey Stikheev) about 13 years ago
=begin
Seems the bug is in escaping (to_yaml) :
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"
=end
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
- Description updated (diff)
- Status changed from Open to Closed