aboutsummaryrefslogtreecommitdiffstats
path: root/yarvcore.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-05 08:12:18 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-05 08:12:18 +0000
commit46603a78afde1386f92b38f9b16ca86daa93ad88 (patch)
treef3594fecc31b6f210f95143c7a20c2ea55ae68ce /yarvcore.c
parenta0d50fa3c494ea5afb98c05be049a0cde6fde28d (diff)
downloadruby-46603a78afde1386f92b38f9b16ca86daa93ad88.tar.gz
* include/ruby/{intern,ruby}.h, compile.[ch], error.c, eval.c,
eval_load.c, gc.c, iseq.c, main.c, parse.y, re.c, ruby.c, yarvcore.[ch] (ruby_eval_tree, ruby_sourcefile, ruby_sourceline, ruby_nerrs): purge global variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'yarvcore.c')
-rw-r--r--yarvcore.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/yarvcore.c b/yarvcore.c
index 2273ef81cb..b25de4afc4 100644
--- a/yarvcore.c
+++ b/yarvcore.c
@@ -76,16 +76,16 @@ ID id__send_bang;
rb_thread_t *ruby_current_thread = 0;
rb_vm_t *ruby_current_vm = 0;
-RUBY_EXTERN int ruby_nerrs;
-
static NODE *
compile_string(VALUE str, VALUE file, VALUE line)
{
+ VALUE parser = rb_parser_new();
NODE *node;
- node = rb_compile_string(StringValueCStr(file), str, NUM2INT(line));
- if (ruby_nerrs > 0) {
- ruby_nerrs = 0;
+ node = rb_parser_compile_string(parser, StringValueCStr(file),
+ str, NUM2INT(line));
+
+ if (!node) {
rb_exc_raise(GET_THREAD()->errinfo); /* TODO: check err */
}
return node;