comparison src/coding.c @ 102327:a1f0d8fadbb1

(detect_coding_charset): Fix last change for non-latin charsets.
author Jason Rumney <jasonr@gnu.org>
date Sat, 28 Feb 2009 13:52:03 +0000
parents 2c693a021d83
children 7baaea85626e
comparison
equal deleted inserted replaced
102326:376ab174a95d 102327:a1f0d8fadbb1
5100 5100
5101 coding = &coding_categories[coding_category_charset]; 5101 coding = &coding_categories[coding_category_charset];
5102 attrs = CODING_ID_ATTRS (coding->id); 5102 attrs = CODING_ID_ATTRS (coding->id);
5103 valids = AREF (attrs, coding_attr_charset_valids); 5103 valids = AREF (attrs, coding_attr_charset_valids);
5104 name = CODING_ID_NAME (coding->id); 5104 name = CODING_ID_NAME (coding->id);
5105 if (VECTORP (Vlatin_extra_code_table) 5105 if (strncmp ((char *) SDATA (SYMBOL_NAME (name)),
5106 && (strncmp ((char *) SDATA (SYMBOL_NAME (name)), 5106 "iso-8859-", sizeof ("iso-8859-") - 1) == 0
5107 "iso-8859-", sizeof ("iso-8859-") - 1) == 0 5107 || strncmp ((char *) SDATA (SYMBOL_NAME (name)),
5108 || strncmp ((char *) SDATA (SYMBOL_NAME (name)), 5108 "iso-latin-", sizeof ("iso-latin-") - 1) == 0)
5109 "iso-latin-", sizeof ("iso-latin-") - 1) == 0))
5110 check_latin_extra = 1; 5109 check_latin_extra = 1;
5110
5111 if (! NILP (CODING_ATTR_ASCII_COMPAT (attrs))) 5111 if (! NILP (CODING_ATTR_ASCII_COMPAT (attrs)))
5112 src += head_ascii; 5112 src += head_ascii;
5113 5113
5114 while (1) 5114 while (1)
5115 { 5115 {
5126 if (NILP (val)) 5126 if (NILP (val))
5127 break; 5127 break;
5128 if (c >= 0x80) 5128 if (c >= 0x80)
5129 { 5129 {
5130 if (c < 0xA0 5130 if (c < 0xA0
5131 && (!check_latin_extra 5131 && check_latin_extra
5132 && (!VECTORP (Vlatin_extra_code_table)
5132 || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c]))) 5133 || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c])))
5133 break; 5134 break;
5134 found = CATEGORY_MASK_CHARSET; 5135 found = CATEGORY_MASK_CHARSET;
5135 } 5136 }
5136 if (INTEGERP (val)) 5137 if (INTEGERP (val))