diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | lib/irb/locale.rb | 29 |
2 files changed, 18 insertions, 15 deletions
@@ -1,3 +1,7 @@ +Fri Jun 22 23:11:17 2001 Keiju Ishitsuka <keiju@ishitsuka.com> + + * lib/irb/locale.rb: fix for require "kconv" problem + Fri Jun 22 18:08:45 2001 Yukihiro Matsumoto <matz@ruby-lang.org> * eval.c (rb_yield_0): no mvalue_to_svalue conversion here. diff --git a/lib/irb/locale.rb b/lib/irb/locale.rb index ef92ea1377..0eeeae031d 100644 --- a/lib/irb/locale.rb +++ b/lib/irb/locale.rb @@ -1,6 +1,6 @@ # # irb/locale.rb - internationalization module -# $Release Version: 0.7.3$ +# $Release Version: 0.7.4$ # $Revision$ # $Date$ # by Keiju ISHITSUKA(keiju@ishitsuka.com) @@ -10,7 +10,8 @@ # # -require "kconv" +autoload :Tempfile, "tempfile" +autoload :Kconv, "kconv" module IRB class Locale @@ -19,16 +20,6 @@ module IRB JPDefaultLocale = "ja" LOCALE_DIR = "/lc/" - LC2KCONV = { -# "ja" => Kconv::JIS, -# "ja_JP" => Kconv::JIS, - "ja_JP.ujis" => Kconv::EUC, - "ja_JP.euc" => Kconv::EUC, - "ja_JP.eucJP" => Kconv::EUC, - "ja_JP.sjis" => Kconv::SJIS, - "ja_JP.SJIS" => Kconv::SJIS, - } - def initialize(locale = nil) @lang = locale || ENV["IRB_LANG"] || ENV["LC_MESSAGES"] || ENV["LC_ALL"] || ENV["LANG"] @lang = "C" unless @lang @@ -40,7 +31,17 @@ module IRB mes = super(mes) case @lang when /^ja/ - mes = Kconv::kconv(mes, LC2KCONV[@lang]) + @@LC2KCONV = { + # "ja" => Kconv::JIS, + # "ja_JP" => Kconv::JIS, + "ja_JP.ujis" => Kconv::EUC, + "ja_JP.euc" => Kconv::EUC, + "ja_JP.eucJP" => Kconv::EUC, + "ja_JP.sjis" => Kconv::SJIS, + "ja_JP.SJIS" => Kconv::SJIS, + } unless defined? @@LC2KCONV + + mes = Kconv::kconv(mes, @@LC2KCONV[@lang]) else mes end @@ -74,8 +75,6 @@ module IRB super *ary end - autoload :Tempfile, "tempfile" - def require(file, priv = nil) rex = Regexp.new("lc/#{Regexp.quote(file)}\.(so|o|sl|rb)?") return false if $".find{|f| f =~ rex} |