From c9523ecda2bbac84807cc0bf460540ad71bf8943 Mon Sep 17 00:00:00 2001 From: tomo Date: Sun, 10 Oct 1999 18:25:28 +0000 Subject: [PATCH] (char_encode_iso2022): Ignore non-ISO-2022 coded-charsets in `default-coded-charset-priority-list' when breaking up a character. --- src/text-coding.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/text-coding.c b/src/text-coding.c index 05bf7d1..e3fe8ff 100644 --- a/src/text-coding.c +++ b/src/text-coding.c @@ -4805,7 +4805,24 @@ char_encode_iso2022 (struct encoding_stream *str, Emchar ch, } } if (reg == -1) - BREAKUP_CHAR (ch, charset, byte1, byte2); + { + Lisp_Object original_default_coded_charset_priority_list + = Vdefault_coded_charset_priority_list; + + while (!EQ (Vdefault_coded_charset_priority_list, Qnil)) + { + BREAKUP_CHAR (ch, charset, byte1, byte2); + if (XCHARSET_FINAL (charset)) + goto found; + Vdefault_coded_charset_priority_list + = Fcdr (Fmemq (XCHARSET_NAME (charset), + Vdefault_coded_charset_priority_list)); + } + BREAKUP_CHAR (ch, charset, byte1, byte2); + found: + Vdefault_coded_charset_priority_list + = original_default_coded_charset_priority_list; + } ensure_correct_direction (XCHARSET_DIRECTION (charset), codesys, dst, flags, 0); -- 1.7.10.4