diff options
author | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-16 16:09:41 +0000 |
---|---|---|
committer | why <why@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-16 16:09:41 +0000 |
commit | b02b4bb04831671c77dbd55eaf7e77e1629c03b5 (patch) | |
tree | 8311ecba8628f181bc0ce9e4d91dd34298a62b49 /ext/syck/rubyext.c | |
parent | c16bdcc5e1c10fa873e35c7e0b184f7f99340786 (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.c | 28 |
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" ), |