aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
authorKenichi Handa1998-04-02 00:25:47 +0000
committerKenichi Handa1998-04-02 00:25:47 +0000
commit704c57813e862bc6067aafcc4be269a294c9f818 (patch)
tree16cf9c5c0558641846364e2cccbeb082fffec745 /src/coding.c
parent25b98b34c55aff2590e5a8926c756e17818b840a (diff)
downloademacs-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.c13
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
641enum iso_code_class_type iso_code_class[256]; 641enum 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;