ruby-changes:9087
From: nobu <ko1@a...>
Date: Thu, 11 Dec 2008 13:17:28 +0900 (JST)
Subject: [ruby-changes:9087] Ruby:r20624 (trunk): * encoding.c (rb_enc_set_default_internal): defines internal
nobu 2008-12-11 13:17:10 +0900 (Thu, 11 Dec 2008) New Revision: 20624 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20624 Log: * encoding.c (rb_enc_set_default_internal): defines internal encoding as nil. Modified files: trunk/ChangeLog trunk/encoding.c Index: encoding.c =================================================================== --- encoding.c (revision 20623) +++ encoding.c (revision 20624) @@ -38,6 +38,7 @@ void rb_enc_init(void); #define ENCODING_COUNT ENCINDEX_BUILTIN_MAX +#define UNSPECIFIED_ENCODING INT_MAX #define enc_autoload_p(enc) (!rb_enc_mbmaxlen(enc)) @@ -507,7 +508,12 @@ if (i < 0) { 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) { rb_warn("failed to load encoding (%s); use ASCII-8BIT instead", name); @@ -1111,6 +1117,8 @@ if (NIL_P(encoding)) { default_internal_index = -1; default_internal = 0; + st_insert(enc_table.names, (st_data_t)strdup("internal"), + (st_data_t)UNSPECIFIED_ENCODING); return; } Index: ChangeLog =================================================================== --- ChangeLog (revision 20623) +++ ChangeLog (revision 20624) @@ -1,11 +1,17 @@ -Thu Dec 11 11:51:36 2008 Nobuyoshi Nakada <nobu@r...> +Thu Dec 11 13:17:04 2008 Nobuyoshi Nakada <nobu@r...> + * 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 11:11:03 2008 Nobuyoshi Nakada <nobu@r...> * include/ruby/st.h (size_t): needs stddef.h or stdlib.h. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/