summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-22 12:52:18 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-09-22 12:52:18 +0000
commit742283385fc8539e76581ad2482ad62ed8a12c76 (patch)
treee139ff6c1bb02c3cfda4d5fa224f6b88c5b898f3 /ruby.c
parentf3cdd50125b9a66b18766dc1eaaff10fbc92a29d (diff)
* eval.c (call_trace_func): should not call trace function while
compilation. * eval.c (rb_call0): also inside c-func. * parse.y (yycompile): ditto. * ruby.c (require_libraries): preserve source file/line for each require. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ruby.c b/ruby.c
index dfaa2e1c9c..e6adcc7614 100644
--- a/ruby.c
+++ b/ruby.c
@@ -321,19 +321,20 @@ require_libraries()
ruby_eval_tree = ruby_eval_tree_begin = 0;
req_list_last = 0;
while (list) {
+ ruby_current_node = 0;
rb_require(list->name);
tmp = list->next;
free(list->name);
free(list);
list = tmp;
+ ruby_current_node = save[2];
+ ruby_set_current_source();
}
req_list_head.next = 0;
ruby_eval_tree = save[0];
ruby_eval_tree_begin = save[1];
- ruby_current_node = save[2];
- ruby_set_current_source();
- ruby_current_node = 0;
rb_gc_force_recycle((VALUE)save[2]);
+ ruby_current_node = 0;
}
static void