From: Katsuyuki Komatsu Date: 2000-05-30T12:05:47+09:00 Subject: [ruby-dev:9905] Re: RUBYLIB on ruby_1_4 小松です。 まだcommitされてないだけかもしれませんが、念のため。 In the message of [ruby-dev:9789] RUBYLIB on ruby_1_4 on 2000/5/23 Masaki Fukushima wrote: |cvsの1.4の方のブランチですが、ruby.cで |addpath(getenv("RUBYLIB")); しているところの位置がなんかおかしく |ないですか? RUBYLIBが効きません。 | |行番号だけ1.5と一致しているところを見ると、main trunkからのマージ |でおかしくなったのでしょうか。 そのようです。 diff -u1か-u2でruby.cの1.19と1.20のdiffを取って、ruby.cの 1.3.2.5にあてるとaddpath(getenv("RUBYLIB"));しているところの 追加がrejectされずにおかしなところに当たってしまいました。 diff -u3だとrejectされます。 1.5を見ると、正しい位置はproc_options()のsflagの処理の 前あたりでしょうか。 以下のパッチで簡単な動作確認 (RUBYLIBを指定し、スクリプトの #!の行およびコマンドラインでの-TのON/OFF程度) はOKでした。 diff -ru2p ruby-1.4.4.dist/ruby.c ruby-1.4.4/ruby.c --- ruby-1.4.4.dist/ruby.c Fri May 12 18:06:15 2000 +++ ruby-1.4.4/ruby.c Mon May 29 23:12:48 2000 @@ -541,4 +541,9 @@ proc_options(argcp, argvp) if (ruby_debug) ruby_debug = Qtrue; + if (rb_safe_level() == 0) { + rb_ary_push(rb_load_path, rb_str_new2(".")); + addpath(getenv("RUBYLIB")); + } + xflag = Qfalse; *argvp = argv; @@ -637,10 +642,4 @@ load_file(fname, script) p++; *p++ = '\0'; - if (rb_safe_level() == 0) { - rb_ary_push(rb_load_path, rb_str_new2(".")); - addpath(getenv("RUBYLIB")); - } - - if (p < pend) { argv = ALLOCA_N(char*, origargc+3); % patch < ruby.c.diff-u1 ← 1.19と1.20のdiff -u1を取って1.3.2.5に当てる patching file `ruby.c' Hunk #1 FAILED at 5. Hunk #2 FAILED at 293. Hunk #3 succeeded at 638 with fuzz 1. ← パッチが当たる Hunk #4 succeeded at 864 (offset -61 lines). 2 out of 5 hunks FAILED -- saving rejects to file ruby.c.rej % % patch < ruby.c.diff-u2 ← 1.19と1.20のdiff -u2を取って1.3.2.5に当てる patching file ruby.c Hunk #1 FAILED at 4. Hunk #2 FAILED at 292. Hunk #3 succeeded at 637 with fuzz 2. ← パッチが当たる Hunk #4 succeeded at 863 (offset -61 lines). 2 out of 5 hunks FAILED -- saving rejects to file ruby.c.rej % % patch < ruby.c.diff-u3 ← 1.19と1.20のdiff -u3を取って1.3.2.5に当てる patching file ruby.c Hunk #1 FAILED at 3. Hunk #2 FAILED at 291. Hunk #3 FAILED at 636. ← rejectされる Hunk #4 succeeded at 862 (offset -61 lines). 3 out of 5 hunks FAILED -- saving rejects to file ruby.c.rej % -- 小松克行 / Katsuyuki Komatsu