diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/syck/rubyext.c | 2 | ||||
-rw-r--r-- | lib/yaml/rubytypes.rb | 3 |
3 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Thu May 22 06:21:33 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net> + + * ext/syck/rubyext.c (rb_syck_err_handler): raise ArgumentError on + malformed YAML. + + * lib/yaml/rubytypes.rb: String#to_yaml was missing space indicators at + the end of a line. + Thu May 22 05:43:24 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net> * ext/syck/rubyext.c (syck_parser_load): root-level false was returning diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c index f55edadb47..60facd501e 100644 --- a/ext/syck/rubyext.c +++ b/ext/syck/rubyext.c @@ -379,7 +379,7 @@ rb_syck_err_handler(p, msg) endl++; endl[0] = '\0'; - rb_raise(rb_eLoadError, "%s on line %d, col %d: `%s'", + rb_raise(rb_eArgError, "%s on line %d, col %d: `%s'", msg, p->linect, p->cursor - p->lineptr, diff --git a/lib/yaml/rubytypes.rb b/lib/yaml/rubytypes.rb index ae5585db5d..a670237635 100644 --- a/lib/yaml/rubytypes.rb +++ b/lib/yaml/rubytypes.rb @@ -1,4 +1,5 @@ require 'date' +require 'yaml/constants' # # Type conversions # @@ -273,7 +274,7 @@ class String "''" elsif YAML.detect_implicit( self ) != 'str' "\"#{YAML.escape( self )}\"" - elsif self =~ /#{YAML::ESCAPE_CHAR}|[#{YAML::SPACE_INDICATORS}] |\n|\'/ + elsif self =~ /#{YAML::ESCAPE_CHAR}|[#{YAML::SPACE_INDICATORS}]( |\n|$)|\'/ "\"#{YAML.escape( self )}\"" elsif self =~ /^[^#{YAML::WORD_CHAR}]/ "\"#{YAML.escape( self )}\"" |