From 9a1716fdb289e7bcdabf9050bfdf051106e2cce0 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 30 May 2000 04:24:17 +0000 Subject: 2000-05-30 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ruby.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'ruby.c') diff --git a/ruby.c b/ruby.c index 0f32f6cd97..4aa1ab5838 100644 --- a/ruby.c +++ b/ruby.c @@ -229,13 +229,16 @@ void require_libraries() { extern NODE *ruby_eval_tree; + extern NODE *ruby_eval_tree_begin; char *orig_sourcefile = ruby_sourcefile; - NODE *save; + NODE *save[2]; struct req_list *list = req_list_head.next; struct req_list *tmp; ruby_sourcefile = 0; - save = ruby_eval_tree; + save[0] = ruby_eval_tree; + save[1] = ruby_eval_tree_begin; + ruby_eval_tree = ruby_eval_tree_begin = 0; req_list_last = 0; while (list) { rb_require(list->name); @@ -244,7 +247,8 @@ require_libraries() free(list); list = tmp; } - ruby_eval_tree = save; + ruby_eval_tree = save[0]; + ruby_eval_tree_begin = save[1]; ruby_sourcefile = orig_sourcefile; } @@ -622,8 +626,10 @@ proc_options(argc, argv) ruby_set_argv(argc, argv); process_sflag(); +#if 0 Init_ext(); /* should be called here for some reason :-( */ require_libraries(); +#endif ruby_sourcefile = argv0; if (e_script) { @@ -643,6 +649,11 @@ proc_options(argc, argv) process_sflag(); xflag = 0; + +#if 1 + Init_ext(); /* should be called here for some reason :-( */ + require_libraries(); +#endif } extern int ruby__end__seen; -- cgit v1.2.3