From 004068e4fc1d272f97cba4a49cbf47b606723ec0 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 14 May 2002 08:00:53 +0000 Subject: [PATCH] (Fdecode_sjis_char): Fix typo (0x7F->0xFF). Fix the handling of charset list. (encode_coding_iso_2022): Setup coding->safe_charsets in advance. --- src/coding.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/coding.c b/src/coding.c index 8381284fc9..b29e40d801 100644 --- a/src/coding.c +++ b/src/coding.c @@ -3433,6 +3433,9 @@ encode_coding_iso_2022 (coding) int c; CODING_GET_INFO (coding, attrs, eol_type, charset_list); + setup_iso_safe_charsets (attrs); + coding->safe_charsets + = (char *) XSTRING (CODING_ATTR_SAFE_CHARSETS(attrs))->data; ascii_compatible = ! NILP (CODING_ATTR_ASCII_COMPAT (attrs)); @@ -6811,8 +6814,8 @@ Return the corresponding character. */) val = CODING_ATTR_CHARSET_LIST (attrs); charset_roman = CHARSET_FROM_ID (XINT (XCAR (val))), val = XCDR (val); - charset_kanji = CHARSET_FROM_ID (XINT (XCAR (val))), val = XCDR (val); - charset_kana = CHARSET_FROM_ID (XINT (XCAR (val))); + charset_kana = CHARSET_FROM_ID (XINT (XCAR (val))), val = XCDR (val); + charset_kanji = CHARSET_FROM_ID (XINT (XCAR (val))); if (c <= 0x7F) charset = charset_roman; @@ -6823,7 +6826,7 @@ Return the corresponding character. */) } else { - int s1 = c >> 8, s2 = c & 0x7F; + int s1 = c >> 8, s2 = c & 0xFF; if (s1 < 0x81 || (s1 > 0x9F && s1 < 0xE0) || s1 > 0xEF || s2 < 0x40 || s2 == 0x7F || s2 > 0xFC) -- 2.20.1