From b8ebe9dd7f7905aca424357697e833683e42bb2b Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Sat, 29 Nov 2008 01:46:07 +0000 Subject: [PATCH] (Fdefine_charset_internal): After calculating min_char, max_char, and fastmap, copy the charset structure again. (encode_char): Fix the previous change. --- src/ChangeLog | 6 ++++++ src/charset.c | 12 +++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index df1fcc6dacb..e0575f03d76 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2008-11-29 Kenichi Handa + + * charset.c (Fdefine_charset_internal): After calculating + min_char, max_char, and fastmap, copy the charset structure again. + (encode_char): Fix the previous change. + 2008-11-28 Seiji Zenitani * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha. diff --git a/src/charset.c b/src/charset.c index 3c52d1f333f..ef6f3c22c8e 100644 --- a/src/charset.c +++ b/src/charset.c @@ -1199,7 +1199,10 @@ usage: (define-charset-internal ...) */) charset_table[id] = charset; if (charset.method == CHARSET_METHOD_MAP) - load_charset (&charset, 0); + { + load_charset (&charset, 0); + charset_table[id] = charset; + } if (charset.iso_final >= 0) { @@ -1855,8 +1858,11 @@ encode_char (charset, c) encoder = CHARSET_ENCODER (charset); if (! CHAR_TABLE_P (CHARSET_ENCODER (charset))) - load_charset (charset); - if (CHAR_TABLE_P (CHARSET_ENCODER (charset))) + { + load_charset (charset, 2); + encoder = CHARSET_ENCODER (charset); + } + if (CHAR_TABLE_P (encoder)) { val = CHAR_TABLE_REF (encoder, c); if (NILP (val)) -- 2.39.2