summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--encoding.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a8be74158..fade6da07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jan 18 11:39:10 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * encoding.c (rb_enc_find_index): use original encoding name to
+ replicate loaded encoding instead alias.
+
Fri Jan 18 09:43:02 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* re.c (rb_char_to_option_kcode): Regexp switch `s' should mean
diff --git a/encoding.c b/encoding.c
index 505aaa9dc..c713a3060 100644
--- a/encoding.c
+++ b/encoding.c
@@ -487,14 +487,16 @@ rb_enc_find_index(const char *name)
if (enc_initialized_p(enc) &&
(base = enc_base_encoding(ENC_FROM_ENCODING(enc)), !NIL_P(base))) {
if ((b = enc_check_encoding(base)) < 0) {
+#if 0
st_data_t key, val;
key = (st_data_t)name;
if (st_delete(enc_table.names, &key, &val)) {
if (enc->name != (char *)key) xfree((char *)key);
}
+#endif
return -1;
}
- enc_register_at(i, name, rb_enc_from_index(b));
+ enc_register_at(i, rb_enc_name(enc), rb_enc_from_index(b));
}
else {
i = load_encoding(rb_enc_name(enc));