aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--lib/irb/locale.rb18
2 files changed, 15 insertions, 10 deletions
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) <yugui@yugui.jp>
+
+ * 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 <kouji@takao7.net>
* 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[
- (?<language>[[:alpha:]]{2})
- (?:_
- (?<territory>[[:alpha:]]{2,3})
- (?:\.
- (?<codeset>[^@]+)
- )?
- )?
- (?:@
- (?<modifier>.*)
- )?
+ (?<language>[[:alpha:]]{2,3})
+ (?:_ (?<territory>[[:alpha:]]{2,3}) )?
+ (?:\. (?<codeset>[^@]+) )?
+ (?:@ (?<modifier>.*) )?
]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