From 237aabf40e931afa2f512efa2a80e4be5c3d2b2a Mon Sep 17 00:00:00 2001 From: Jason Rumney Date: Sat, 28 Feb 2009 13:52:03 +0000 Subject: (detect_coding_charset): Fix last change for non-latin charsets. --- src/coding.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/coding.c b/src/coding.c index 176d115d44..01cdab52d0 100644 --- a/src/coding.c +++ b/src/coding.c @@ -5102,12 +5102,12 @@ detect_coding_charset (coding, detect_info) attrs = CODING_ID_ATTRS (coding->id); valids = AREF (attrs, coding_attr_charset_valids); name = CODING_ID_NAME (coding->id); - if (VECTORP (Vlatin_extra_code_table) - && (strncmp ((char *) SDATA (SYMBOL_NAME (name)), - "iso-8859-", sizeof ("iso-8859-") - 1) == 0 - || strncmp ((char *) SDATA (SYMBOL_NAME (name)), - "iso-latin-", sizeof ("iso-latin-") - 1) == 0)) + if (strncmp ((char *) SDATA (SYMBOL_NAME (name)), + "iso-8859-", sizeof ("iso-8859-") - 1) == 0 + || strncmp ((char *) SDATA (SYMBOL_NAME (name)), + "iso-latin-", sizeof ("iso-latin-") - 1) == 0) check_latin_extra = 1; + if (! NILP (CODING_ATTR_ASCII_COMPAT (attrs))) src += head_ascii; @@ -5128,7 +5128,8 @@ detect_coding_charset (coding, detect_info) if (c >= 0x80) { if (c < 0xA0 - && (!check_latin_extra + && check_latin_extra + && (!VECTORP (Vlatin_extra_code_table) || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c]))) break; found = CATEGORY_MASK_CHARSET; -- cgit v1.2.3