diff options
author | Kenichi Handa <handa@m17n.org> | 2004-02-06 11:05:20 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2004-02-06 11:05:20 +0000 |
commit | 1c305bc1f58f34d89f5d975a52cfc66b3df7715a (patch) | |
tree | 82e1806d3a14c4d516456dc02f90a4668b62c9d0 /src/charset.h | |
parent | ffccb0b664492a8ff27565f865927977df4af091 (diff) | |
download | emacs-1c305bc1f58f34d89f5d975a52cfc66b3df7715a.tar.gz |
(CHAR_CHARSET_P): Fix for the case that the method is subset or
superset.
Diffstat (limited to 'src/charset.h')
-rw-r--r-- | src/charset.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/charset.h b/src/charset.h index 18fdcfb16c0..0965bb29d2c 100644 --- a/src/charset.h +++ b/src/charset.h @@ -110,8 +110,8 @@ enum charset_attr_index charset_unify_map, /* If characters in the charset must be unified Unicode, the value - is a char table that maps a character code in the charset to - the corresponding Unicode character. */ + is a char table that maps a unified Unicode character code to + the non-unified character code in the charset. */ charset_deunifier, /* The length of the charset attribute vector. */ @@ -484,7 +484,9 @@ extern int iso_charset_table[ISO_MAX_DIMENSION][ISO_MAX_CHARS][ISO_MAX_FINAL]; /* 1 iff CHARSET may contain the character C. */ #define CHAR_CHARSET_P(c, charset) \ ((ASCII_CHAR_P (c) && (charset)->ascii_compatible_p) \ - || (CHARSET_UNIFIED_P (charset) \ + || ((CHARSET_UNIFIED_P (charset) \ + || (charset)->method == CHARSET_METHOD_SUBSET \ + || (charset)->method == CHARSET_METHOD_SUPERSET) \ ? encode_char ((charset), (c)) != (charset)->invalid_code \ : (CHARSET_FAST_MAP_REF ((c), (charset)->fast_map) \ && ((charset)->method == CHARSET_METHOD_OFFSET \ |