Hi,

1) malformed block scalar emitted with to_yaml()

% ruby -v
ruby 1.8.5 (2006-09-10) [i686-darwin8.7.1]

% cat yamlbug1.rb
require 'yaml'

y = "\n abc\nxyz".to_yaml
puts y

YAML.load(y)

% ruby yamlbug1.rb
--- |-

 abc
xyz
/usr/local/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 3,
col 0: `xyz' (ArgumentError)
        from /usr/local/lib/ruby/1.8/yaml.rb:133:in `load'
        from yamlbug1.rb:6

The YAML document lacks an indentation indicator (required as the
first character of the first non-empty line is space).


2) YAML.load() misreads an indentation indicator

% ruby -v
ruby 1.8.5 (2006-09-10) [i686-darwin8.7.1]

% cat yamlbug2.rb
require 'yaml'

y = <<'eos'
--- |4
    abc
    xyz
eos

p YAML.load(y) # -> should be "abc\nxyz\n"

% ruby yamlbug2.rb
" abc\n xyz\n"

YAML.load() strips just three indentation spaces instead of four.

---