[macruby-changes] [2297] MacRuby/trunk/ext/libyaml

source_changes at macosforge.org source_changes at macosforge.org
Wed Aug 12 15:07:48 PDT 2009


Revision: 2297
          http://trac.macosforge.org/projects/ruby/changeset/2297
Author:   pthomson at apple.com
Date:     2009-08-12 15:07:45 -0700 (Wed, 12 Aug 2009)
Log Message:
-----------
Fixed a REALLY stupid bug and changed the scanner to allow backticks and @'s at the beginning of scalars.

Modified Paths:
--------------
    MacRuby/trunk/ext/libyaml/rubyext.c
    MacRuby/trunk/ext/libyaml/scanner.c

Modified: MacRuby/trunk/ext/libyaml/rubyext.c
===================================================================
--- MacRuby/trunk/ext/libyaml/rubyext.c	2009-08-12 12:35:58 UTC (rev 2296)
+++ MacRuby/trunk/ext/libyaml/rubyext.c	2009-08-12 22:07:45 UTC (rev 2297)
@@ -239,7 +239,7 @@
 		asprintf(&msg, "%s error encountered during parsing", descriptor);
 	}
 	
-	error = rb_exc_new2(rb_eRuntimeError, msg);
+	error = rb_exc_new2(rb_eArgError, msg);
 	if(msg != NULL)
 	{
 		free(msg);
@@ -261,7 +261,7 @@
 		yaml_event_delete(&parser->event);
 		parser->event_valid = false;
 	}
-	if (yaml_parser_parse(&parser->parser, &parser->event) == -1)
+	if (yaml_parser_parse(&parser->parser, &parser->event) == 0)
 	{
 		rb_exc_raise(rb_yaml_parser_generate_error(&parser->parser));
 		parser->event_valid = false;
@@ -415,7 +415,7 @@
 	}
 	if (parser->event.type != YAML_DOCUMENT_START_EVENT)
 	{
-		rb_raise(rb_eRuntimeError, "expected DOCUMENT_START event");
+		rb_raise(rb_eArgError, "expected DOCUMENT_START event");
 	}
 
 	root = get_node(parser);
@@ -424,7 +424,7 @@
 	NEXT_EVENT();
 	if (parser->event.type != YAML_DOCUMENT_END_EVENT)
 	{
-		rb_raise(rb_eRuntimeError, "expected DOCUMENT_END event");
+		rb_raise(rb_eArgError, "expected DOCUMENT_END event");
 	}
 	
 	

Modified: MacRuby/trunk/ext/libyaml/scanner.c
===================================================================
--- MacRuby/trunk/ext/libyaml/scanner.c	2009-08-12 12:35:58 UTC (rev 2296)
+++ MacRuby/trunk/ext/libyaml/scanner.c	2009-08-12 22:07:45 UTC (rev 2297)
@@ -1030,8 +1030,8 @@
                 || CHECK(parser->buffer, '&') || CHECK(parser->buffer, '*')
                 || CHECK(parser->buffer, '!') || CHECK(parser->buffer, '|')
                 || CHECK(parser->buffer, '>') || CHECK(parser->buffer, '\'')
-                || CHECK(parser->buffer, '"') || CHECK(parser->buffer, '%')
-                || CHECK(parser->buffer, '@') || CHECK(parser->buffer, '`')) ||
+                || CHECK(parser->buffer, '"') || CHECK(parser->buffer, '%')) ||
+            /* MacRuby change: allow ` and @ to start plain scalars. */
             (CHECK(parser->buffer, '-') && !IS_BLANK_AT(parser->buffer, 1)) ||
             (!parser->flow_level &&
              (CHECK(parser->buffer, '?') || CHECK(parser->buffer, ':'))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20090812/a012b3c8/attachment.html>


More information about the macruby-changes mailing list