diff options
| author | Kenichi Handa | 1998-04-02 00:25:47 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-04-02 00:25:47 +0000 |
| commit | 704c57813e862bc6067aafcc4be269a294c9f818 (patch) | |
| tree | 16cf9c5c0558641846364e2cccbeb082fffec745 /src/coding.c | |
| parent | 25b98b34c55aff2590e5a8926c756e17818b840a (diff) | |
| download | emacs-704c57813e862bc6067aafcc4be269a294c9f818.tar.gz emacs-704c57813e862bc6067aafcc4be269a294c9f818.zip | |
(CHARSET_OK): Don't reject safe charsets.
(DECODE_DESIGNATION): Likewise.
(check_composing_code): Likewise.
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/coding.c b/src/coding.c index fdf48e53427..0152b327295 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -640,10 +640,11 @@ detect_coding_emacs_mule (src, src_end) | |||
| 640 | 640 | ||
| 641 | enum iso_code_class_type iso_code_class[256]; | 641 | enum iso_code_class_type iso_code_class[256]; |
| 642 | 642 | ||
| 643 | #define CHARSET_OK(idx, charset) \ | 643 | #define CHARSET_OK(idx, charset) \ |
| 644 | (CODING_SPEC_ISO_REQUESTED_DESIGNATION \ | 644 | (coding_system_table[idx]->safe_charsets[charset] \ |
| 645 | (coding_system_table[idx], charset) \ | 645 | || (CODING_SPEC_ISO_REQUESTED_DESIGNATION \ |
| 646 | != CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION) | 646 | (coding_system_table[idx], charset) \ |
| 647 | != CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION)) | ||
| 647 | 648 | ||
| 648 | #define SHIFT_OUT_OK(idx) \ | 649 | #define SHIFT_OUT_OK(idx) \ |
| 649 | (CODING_SPEC_ISO_INITIAL_DESIGNATION (coding_system_table[idx], 1) >= 0) | 650 | (CODING_SPEC_ISO_INITIAL_DESIGNATION (coding_system_table[idx], 1) >= 0) |
| @@ -909,7 +910,8 @@ detect_coding_iso2022 (src, src_end) | |||
| 909 | make_number (chars), \ | 910 | make_number (chars), \ |
| 910 | make_number (final_char)); \ | 911 | make_number (final_char)); \ |
| 911 | if (charset >= 0 \ | 912 | if (charset >= 0 \ |
| 912 | && CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) == reg) \ | 913 | && (CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) == reg \ |
| 914 | || coding->safe_charsets[charset])) \ | ||
| 913 | { \ | 915 | { \ |
| 914 | if (coding->spec.iso2022.last_invalid_designation_register == 0 \ | 916 | if (coding->spec.iso2022.last_invalid_designation_register == 0 \ |
| 915 | && reg == 0 \ | 917 | && reg == 0 \ |
| @@ -968,6 +970,7 @@ int check_composing_code (coding, src, src_end) | |||
| 968 | c1 = *src++; | 970 | c1 = *src++; |
| 969 | if ((c1 < ' ' || c1 >= 0x80) | 971 | if ((c1 < ' ' || c1 >= 0x80) |
| 970 | || (charset = iso_charset_table[dim][c >= ','][c1]) < 0 | 972 | || (charset = iso_charset_table[dim][c >= ','][c1]) < 0 |
| 973 | || ! coding->safe_charsets[charset] | ||
| 971 | || (CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) | 974 | || (CODING_SPEC_ISO_REQUESTED_DESIGNATION (coding, charset) |
| 972 | == CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION)) | 975 | == CODING_SPEC_ISO_NO_REQUESTED_DESIGNATION)) |
| 973 | invalid_code_found = 1; | 976 | invalid_code_found = 1; |