diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-05-30 04:24:17 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2000-05-30 04:24:17 +0000 |
commit | 9a1716fdb289e7bcdabf9050bfdf051106e2cce0 (patch) | |
tree | f08529a845b5a16b93635eeb06b58553252692c9 /ruby.c | |
parent | 869b1efeb4eea77338863faff98da2432acb4b5d (diff) | |
download | ruby-9a1716fdb289e7bcdabf9050bfdf051106e2cce0.tar.gz |
2000-05-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -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; |