ruby-reference-manual:3181
From: "sho-h (Sho Hashimoto)" <sho-h@n...>
Date: Sun, 19 Aug 2012 00:53:23 +0900
Subject: [ruby-reference-manual:3181] [るりまプロジェクト - Bug #5501][Closed] 環境変数RUBYLIB のMS-DOS系の区切り文字がおかしい
Issue #5501 has been updated by sho-h (Sho Hashimoto). Status changed from Assigned to Closed % Done changed from 0 to 100 以下の方針で修正しました。close します。間違った修正であれば指摘してやってくださいませ。 * セパレータは確かに ; だと思われるため修正(r5327) * %HOME% は %HOMEDRIVE%%HOMEPATH% に修正(r5328) 以下のように確認しました。 前者は push_include まで降りると、PATH_SEP_CHAR(MS-DOS だと ;) のみで区切って $: に push しており、最初の動作確認と符合したため修正しました。(他のセパレータの存在を考慮した記述にはしませんでした) 後者は意味があるのですが、set RUBYLIB=...するタイミングでは、影響し得ないため修正しました。HOME 環境変数が存在しない場合、init_env という関数によって ENV["HOME"] が代入される仕組みのようです($ set HOME $ ruby -e 'p ENV["HOME"]' してみてください)。Linux 側との互換のため?ではないかと想像しています。この点については ML を参照したかったのですが、今はタイムアウトするので諦めました。どなたかご存知の方いらしたら教えてください。しかし、コマンドプロンプトを叩くタイミングでは影響できないため、どのような理由にしろ意味がなかったです。そのため、init_env の処理にできるだけ合わせて、%HOMEDRIVE%%HOMEPATH% としました。 ---------------------------------------- Bug #5501: 環境変数RUBYLIB のMS-DOS系の区切り文字がおかしい https://bugs.ruby-lang.org/issues/5501#change-28930 Author: azarashi (Hiroshi Koyama) Status: Closed Priority: Normal Assignee: sho-h (Sho Hashimoto) Category: doc Target version: reporter: ruby_version: http://doc.ruby-lang.org/ja/1.9.2/doc/spec=2fenvvars.html > MS-DOS系 > > set RUBYLIB=%HOME%\ruby\lib:\opt\ruby\lib 区切り文字は ":" ではなくて ";" が正しいのではないかしら。 RUBYLIB だけでなく、その上に書かれている RUBYPATH の区切り文字も気になりますぽよ。 C:\Windows\System32>set RUBYLIB=c:\lib:d:\lib C:\Windows\System32>irb irb(main):001:0> puts $: c:\lib:d:\lib C:/Users/Azarashi/bin/ruby-1.9.2/lib/ruby/site_ruby/1.9.1 (省略) => nil irb(main):002:0> exit C:\Windows\System32>set RUBYLIB=c:\lib;d:\lib C:\Windows\System32>irb irb(main):001:0> puts $: c:\lib d:\lib C:/Users/Azarashi/bin/ruby-1.9.2/lib/ruby/site_ruby/1.9.1 (省略) => nil -- http://bugs.ruby-lang.org/ -- ML: ruby-reference-manual@m... Info: http://QuickML.com/