Mercurial > emacs
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)) |
