1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-20 20:50:53 -08:00

(encode_coding_iso_2022): If coding requires safe

encoding, produce a character specified by
CODING_INHIBIT_CHARACTER_SUBSTITUTION.
(encode_coding_sjis): Likewise.
(encode_coding_big5): Likewise.
(encode_coding_charset): Likewise.
This commit is contained in:
Kenichi Handa 2002-05-20 12:10:04 +00:00
parent 0e56a02d6d
commit 41cbe562e6

View file

@ -3488,8 +3488,16 @@ encode_coding_iso_2022 (coding)
if (!charset)
{
c = coding->default_char;
charset = char_charset (c, charset_list, NULL);
if (coding->mode & CODING_MODE_SAFE_ENCODING)
{
c = CODING_INHIBIT_CHARACTER_SUBSTITUTION;
charset = CHARSET_FROM_ID (charset_ascii);
}
else
{
c = coding->default_char;
charset = char_charset (c, charset_list, NULL);
}
}
ENCODE_ISO_CHARACTER (charset, c);
}
@ -3851,8 +3859,16 @@ encode_coding_sjis (coding)
if (!charset)
{
c = coding->default_char;
charset = char_charset (c, charset_list, &code);
if (coding->mode & CODING_MODE_SAFE_ENCODING)
{
code = CODING_INHIBIT_CHARACTER_SUBSTITUTION;
charset = CHARSET_FROM_ID (charset_ascii);
}
else
{
c = coding->default_char;
charset = char_charset (c, charset_list, &code);
}
}
if (code == CHARSET_INVALID_CODE (charset))
abort ();
@ -3911,8 +3927,16 @@ encode_coding_big5 (coding)
if (! charset)
{
c = coding->default_char;
charset = char_charset (c, charset_list, &code);
if (coding->mode & CODING_MODE_SAFE_ENCODING)
{
code = CODING_INHIBIT_CHARACTER_SUBSTITUTION;
charset = CHARSET_FROM_ID (charset_ascii);
}
else
{
c = coding->default_char;
charset = char_charset (c, charset_list, &code);
}
}
if (code == CHARSET_INVALID_CODE (charset))
abort ();
@ -4372,7 +4396,13 @@ encode_coding_charset (coding)
(code >> 8) & 0xFF, code & 0xFF);
}
else
EMIT_ONE_BYTE (coding->default_char);
{
if (coding->mode & CODING_MODE_SAFE_ENCODING)
c = CODING_INHIBIT_CHARACTER_SUBSTITUTION;
else
c = coding->default_char;
EMIT_ONE_BYTE (c);
}
}
}