summaryrefslogtreecommitdiff
path: root/lib/irb
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-09 07:39:16 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-09 07:39:16 +0000
commitb128f7ffcdf3d1e815d409ac9bce86c2cf11445c (patch)
tree2ab3762fa85f25e8a4875613bb760a8d8de4ddf1 /lib/irb
parent0c560941f1b38c3ac0c8f83ddceb3566277da773 (diff)
* lib/irb/locale.rb (IRB::Locale::LOCALE_NAME_RE):
some platoform has a locale without territory but with encoding. (#each_sub_locale): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/irb')
-rw-r--r--lib/irb/locale.rb18
1 files changed, 8 insertions, 10 deletions
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