merges r20624 from trunk into ruby_1_9_1.

* encoding.c (rb_enc_set_default_internal): defines internal
  encoding as nil.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2008-12-13 01:02:36 +00:00
parent feff0bd161
commit 33f6ae913a
2 changed files with 23 additions and 1 deletions

View file

@ -1,3 +1,17 @@
Thu Dec 11 13:17:04 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* encoding.c (rb_enc_set_default_internal): defines internal
encoding as nil.
* encoding.c (rb_locale_encoding): removed Encoding::LOCALE.
* encoding.c (rb_enc_set_default_external): ditto.
* encoding.c (rb_enc_set_default_internal): ditto.
* encoding.c (rb_enc_set_default_internal): defines internal
encoding as nil.
Thu Dec 11 10:25:25 2008 Yukihiro Matsumoto <matz@ruby-lang.org> Thu Dec 11 10:25:25 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* test/ruby/test_bignum.rb (TestBignum#test_convert): remove * test/ruby/test_bignum.rb (TestBignum#test_convert): remove

View file

@ -38,6 +38,7 @@ static struct {
void rb_enc_init(void); void rb_enc_init(void);
#define ENCODING_COUNT ENCINDEX_BUILTIN_MAX #define ENCODING_COUNT ENCINDEX_BUILTIN_MAX
#define UNSPECIFIED_ENCODING INT_MAX
#define enc_autoload_p(enc) (!rb_enc_mbmaxlen(enc)) #define enc_autoload_p(enc) (!rb_enc_mbmaxlen(enc))
@ -507,7 +508,12 @@ rb_enc_find_index(const char *name)
if (i < 0) { if (i < 0) {
i = load_encoding(name); i = load_encoding(name);
} }
else if (enc_autoload_p(enc = rb_enc_from_index(i))) { else if (!(enc = rb_enc_from_index(i))) {
if (i != UNSPECIFIED_ENCODING) {
rb_raise(rb_eArgError, "encoding %s is not registered", name);
}
}
else if (enc_autoload_p(enc)) {
if (enc_autoload(enc) < 0) { if (enc_autoload(enc) < 0) {
rb_warn("failed to load encoding (%s); use ASCII-8BIT instead", rb_warn("failed to load encoding (%s); use ASCII-8BIT instead",
name); name);
@ -1111,6 +1117,8 @@ rb_enc_set_default_internal(VALUE encoding)
if (NIL_P(encoding)) { if (NIL_P(encoding)) {
default_internal_index = -1; default_internal_index = -1;
default_internal = 0; default_internal = 0;
st_insert(enc_table.names, (st_data_t)strdup("internal"),
(st_data_t)UNSPECIFIED_ENCODING);
return; return;
} }