diff options
author | Kenichi Handa <handa@m17n.org> | 2008-11-29 13:47:31 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2008-11-29 13:47:31 +0000 |
commit | 8cc53f96e5dc3d647411e01298e4125ed4b00928 (patch) | |
tree | 02ac71d866683a4c1ca4632d85e083a9a1a9eb8f | |
parent | 9c6361c98bf378474cac35b6f9b3330ba66e91ce (diff) | |
download | emacs-8cc53f96e5dc3d647411e01298e4125ed4b00928.tar.gz |
(CHAR_CHARSET_P): Check if the encoder is loaded or
not before accessing it.
-rw-r--r-- | src/ChangeLog | 3 | ||||
-rw-r--r-- | src/charset.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e0575f03d76..1cb44419d1f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2008-11-29 Kenichi Handa <handa@m17n.org> + * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or + not before accessing it. + * charset.c (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/charset.h b/src/charset.h index 1dac7add242..fa3f363a9e8 100644 --- a/src/charset.h +++ b/src/charset.h @@ -503,7 +503,8 @@ extern int iso_charset_table[ISO_MAX_DIMENSION][ISO_MAX_CHARS][ISO_MAX_FINAL]; && ((charset)->method == CHARSET_METHOD_OFFSET \ ? (c) >= (charset)->min_char && (c) <= (charset)->max_char \ : ((charset)->method == CHARSET_METHOD_MAP \ - && (charset)->compact_codes_p) \ + && (charset)->compact_codes_p \ + && CHAR_TABLE_P (CHARSET_ENCODER (charset))) \ ? ! NILP (CHAR_TABLE_REF (CHARSET_ENCODER (charset), (c))) \ : encode_char ((charset), (c)) != (charset)->invalid_code)))) |