# HG changeset patch # User Jason Rumney # Date 1235829123 0 # Node ID a1f0d8fadbb1523e0ceb6bdac35a8f926c150991 # Parent 376ab174a95d51f53a51ac4bfeec0ebd9ff1d9de (detect_coding_charset): Fix last change for non-latin charsets. diff -r 376ab174a95d -r a1f0d8fadbb1 src/coding.c --- a/src/coding.c Sat Feb 28 13:43:23 2009 +0000 +++ b/src/coding.c Sat Feb 28 13:52:03 2009 +0000 @@ -5102,12 +5102,12 @@ 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 @@ 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;