summaryrefslogtreecommitdiff
path: root/ext/syck/rubyext.c
diff options
context:
space:
mode:
authorwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-16 16:09:41 +0000
committerwhy <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-05-16 16:09:41 +0000
commitb02b4bb04831671c77dbd55eaf7e77e1629c03b5 (patch)
tree8311ecba8628f181bc0ce9e4d91dd34298a62b49 /ext/syck/rubyext.c
parentc16bdcc5e1c10fa873e35c7e0b184f7f99340786 (diff)
* lib/yaml.rb: removed fallback to pure Ruby parser.
* lib/yaml/baseemitter.rb (indent_text): was forcing a mod value of zero at times, which kept some blocks from getting indentation. * lib/yaml/baseemitter.rb (node_text): rewriting folded scalars. * ext/syck/syck.h: reports style of scalars now, be they plain, block single-, or double-quoted. * ext/syck/syck.c: ditto. * ext/syck/gram.c: ditto. * ext/syck/node.c: ditto. * ext/syck/token.c: ditto. * ext/syck/rubyext.c (yaml_org_handler): symbols loaded only if scalar style is plain. * ext/syck/rubyext.c (yaml_org_handler): some empty strings were loaded as symbols. * test/yaml/test_yaml.rb (test_perl_regexp): updated test to match new regexp serialization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/syck/rubyext.c')
-rw-r--r--ext/syck/rubyext.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/ext/syck/rubyext.c b/ext/syck/rubyext.c
index d7219ef26a..3cd63eef49 100644
--- a/ext/syck/rubyext.c
+++ b/ext/syck/rubyext.c
@@ -15,33 +15,25 @@
typedef struct RVALUE {
union {
+#if 0
struct {
unsigned long flags; /* always 0 for freed obj */
struct RVALUE *next;
} free;
+#endif
struct RBasic basic;
struct RObject object;
struct RClass klass;
- struct RFloat flonum;
- struct RString string;
+ /*struct RFloat flonum;*/
+ /*struct RString string;*/
struct RArray array;
- struct RRegexp regexp;
+ /*struct RRegexp regexp;*/
struct RHash hash;
- struct RData data;
+ /*struct RData data;*/
struct RStruct rstruct;
- struct RBignum bignum;
- struct RFile file;
-#if 0
- struct RNode node;
- struct RMatch match;
- struct RVarmap varmap;
- struct SCOPE scope;
-#endif
+ /*struct RBignum bignum;*/
+ /*struct RFile file;*/
} as;
-#ifdef GC_DEBUG
- char *file;
- int line;
-#endif
} RVALUE;
typedef struct {
@@ -558,7 +550,9 @@ yaml_org_handler( n, ref )
{
obj = rb_funcall( cDefaultKey, s_new, 0 );
}
- else if ( strncmp( n->data.str->ptr, ":", 1 ) == 0 )
+ else if ( n->data.str->style == scalar_plain &&
+ n->data.str->len > 1 &&
+ strncmp( n->data.str->ptr, ":", 1 ) == 0 )
{
obj = rb_funcall( oDefaultLoader, s_transfer, 2,
rb_str_new2( "ruby/sym" ),