diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-30 00:31:47 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-30 00:31:47 +0000 |
commit | 1495545fa3716e49729c2cdbc10dc576cf52a381 (patch) | |
tree | dc41dd012aefa022484dec89040f85f949a396c7 /encoding.c | |
parent | 5aa4acb0ee5c1dfdc7fe60223b5683b25f7cbf4e (diff) | |
download | ruby-1495545fa3716e49729c2cdbc10dc576cf52a381.tar.gz ruby-1495545fa3716e49729c2cdbc10dc576cf52a381.tar.xz ruby-1495545fa3716e49729c2cdbc10dc576cf52a381.zip |
* encoding.c (rb_locale_encoding): makes an alias for locale.
[ruby-dev:36976]
* encoding.c (rb_enc_set_default_external): ditto for external.
* encoding.c (rb_enc_set_default_internal): ditto for internal.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'encoding.c')
-rw-r--r-- | encoding.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/encoding.c b/encoding.c index 632f323c3..e9fcbfcb3 100644 --- a/encoding.c +++ b/encoding.c @@ -996,11 +996,11 @@ rb_locale_encoding(void) int idx; if (NIL_P(charmap)) - return rb_usascii_encoding(); - else - idx = rb_enc_find_index(StringValueCStr(charmap)); - if (idx < 0) - return rb_ascii8bit_encoding(); + idx = rb_usascii_encindex(); + else if ((idx = rb_enc_find_index(StringValueCStr(charmap))) < 0) + idx = rb_ascii8bit_encindex(); + + if (rb_enc_registered("locale") < 0) enc_alias("locale", idx); return rb_enc_from_index(idx); } @@ -1057,6 +1057,7 @@ rb_enc_set_default_external(VALUE encoding) { default_external_index = rb_enc_to_index(rb_to_encoding(encoding)); default_external = 0; + enc_alias("external", default_external_index); } /* -2 => not yet set, -1 => nil */ @@ -1106,6 +1107,7 @@ rb_enc_set_default_internal(VALUE encoding) if (default_internal_index == rb_usascii_encindex()) default_internal_index = rb_utf8_encindex(); default_internal = 0; + enc_alias("internal", default_internal_index); } /* |