Mercurial > emacs
changeset 100019:b25e28d70fad
(Fdefine_charset_internal): After calculating
min_char, max_char, and fastmap, copy the charset structure again.
(encode_char): Fix the previous change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sat, 29 Nov 2008 01:45:23 +0000 |
parents | 811c2c99eed5 |
children | 14eeff681da3 |
files | src/charset.c |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/charset.c Fri Nov 28 23:54:23 2008 +0000 +++ b/src/charset.c Sat Nov 29 01:45:23 2008 +0000 @@ -1199,7 +1199,10 @@ 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 @@ 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))