summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/syck/rubyext.c2
-rw-r--r--lib/yaml/rubytypes.rb3
3 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e80f6ab4e8..811491106d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 )}\""