From: Kenichi Handa Date: Sat, 29 Nov 2008 01:46:07 +0000 (+0000) Subject: (Fdefine_charset_internal): After calculating X-Git-Tag: emacs-pretest-23.0.90~1452 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b8ebe9dd7f7905aca424357697e833683e42bb2b;p=emacs.git (Fdefine_charset_internal): After calculating min_char, max_char, and fastmap, copy the charset structure again. (encode_char): Fix the previous change. --- 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))