summaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-18 11:20:30 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-18 11:20:30 +0000
commit24bd30901b80856b2751a2545657fbbf3528fd33 (patch)
treedc5f40d4da52e34f2b2fcb27ecab1560b0f355a2 /parse.y
parent249221a6104f26b8602af0be416057a94fe9c8ad (diff)
downloadruby-24bd30901b80856b2751a2545657fbbf3528fd33.tar.gz
ruby-24bd30901b80856b2751a2545657fbbf3528fd33.tar.xz
ruby-24bd30901b80856b2751a2545657fbbf3528fd33.zip
* parse.y (ripper_initialize): too early to set parser->enc.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index 5e4cc13b4..6c0ed229c 100644
--- a/parse.y
+++ b/parse.y
@@ -9677,7 +9677,6 @@ ripper_initialize(int argc, VALUE *argv, VALUE self)
else {
StringValue(src);
parser->parser_lex_gets = lex_get_str;
- parser->enc = rb_enc_get(src);
}
parser->parser_lex_input = src;
parser->eofp = Qfalse;
@@ -9690,6 +9689,9 @@ ripper_initialize(int argc, VALUE *argv, VALUE self)
rb_str_append(fname2, fname);
}
parser_initialize(parser);
+ if (parser->parser_lex_gets == lex_get_str) {
+ parser->enc = rb_enc_get(src);
+ }
parser->parser_ruby_sourcefile_string = fname2;
parser->parser_ruby_sourcefile = RSTRING_PTR(fname2)+1;