From: WATANABE Hirofumi Date: 2003-01-14T18:15:49+09:00 Subject: [ruby-dev:19358] Re: [PATCH] .rb/.so with same feature name わたなべです。 Yukihiro Matsumoto writes: > 1.8にも入ってませんが、なんとなく問題があって取り込まなかっ > たような気がします。今当ててみたら ./lib/ftools が読み込めな > いエラーになってビルドできませんし。 やまださんの情報を基にマージするとこうなります。 make testも通ります。 Index: eval.c =================================================================== RCS file: /src/ruby/eval.c,v retrieving revision 1.381 diff -u -1 -p -r1.381 eval.c --- eval.c 9 Jan 2003 07:33:27 -0000 1.381 +++ eval.c 14 Jan 2003 09:13:11 -0000 @@ -5601,7 +5601,7 @@ rb_f_require(obj, fname) } + goto not_found; } else if (strcmp(".so", ext) == 0 || strcmp(".o", ext) == 0) { - fname = rb_str_new(RSTRING(fname)->ptr, ext-RSTRING(fname)->ptr); + tmp = rb_str_new(RSTRING(fname)->ptr, ext-RSTRING(fname)->ptr); #ifdef DLEXT2 - tmp = fname; if (rb_find_file_ext(&tmp, loadable_ext+1)) { @@ -5612,3 +5612,3 @@ rb_f_require(obj, fname) #else - feature = tmp = rb_str_dup(fname); + feature = tmp; rb_str_cat2(tmp, DLEXT); @@ -5619,2 +5619,3 @@ rb_f_require(obj, fname) } + goto not_found; #endif @@ -5628,2 +5629,3 @@ rb_f_require(obj, fname) } + goto not_found; } @@ -5637,2 +5639,3 @@ rb_f_require(obj, fname) } + goto not_found; } @@ -5656,2 +5659,3 @@ rb_f_require(obj, fname) return Qfalse; + not_found: rb_raise(rb_eLoadError, "No such file to load -- %s", RSTRING(fname)->ptr);