diff --git a/ChangeLog b/ChangeLog index 976275c80c..dee82b003d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Jan 9 16:31:34 2011 Yuki Sonoda (Yugui) + + * lib/irb/locale.rb (IRB::Locale::LOCALE_NAME_RE): + some platoform has a locale without territory but with + encoding. + (#each_sub_locale): ditto. + Sun Jan 9 14:47:50 2011 TAKAO Kouji * ext/readline/readline.c: apply a patch from Nobuyoshi Nakada. diff --git a/lib/irb/locale.rb b/lib/irb/locale.rb index b37ad08403..142b9a5951 100644 --- a/lib/irb/locale.rb +++ b/lib/irb/locale.rb @@ -13,16 +13,10 @@ module IRB @RCS_ID='-$Id$-' LOCALE_NAME_RE = %r[ - (?[[:alpha:]]{2}) - (?:_ - (?[[:alpha:]]{2,3}) - (?:\. - (?[^@]+) - )? - )? - (?:@ - (?.*) - )? + (?[[:alpha:]]{2,3}) + (?:_ (?[[:alpha:]]{2,3}) )? + (?:\. (?[^@]+) )? + (?:@ (?.*) )? ]x LOCALE_DIR = "/lc/" @@ -175,6 +169,10 @@ module IRB yield "#{@lang}_#{@territory}@#{@modifier}" if @modifier yield "#{@lang}_#{@territory}" end + if @encoding_name + yield "#{@lang}.#{@encoding_name}@#{@modifier}" if @modifier + yield "#{@lang}.#{@encoding_name}" + end yield "#{@lang}@#{@modifier}" if @modifier yield "#{@lang}" end