(decode_coding_string): Set coding->src_multibyte and
coding->dst_multibyte before calling detect_coding and detect_eol. Update them after some coding system is detected.
This commit is contained in:
parent
1da1bb05a8
commit
764ca8dad8
1 changed files with 7 additions and 3 deletions
10
src/coding.c
10
src/coding.c
|
@ -5328,6 +5328,8 @@ decode_coding_string (str, coding, nocopy)
|
|||
to_byte = STRING_BYTES (XSTRING (str));
|
||||
|
||||
saved_coding_symbol = Qnil;
|
||||
coding->src_multibyte = STRING_MULTIBYTE (str);
|
||||
coding->dst_multibyte = 1;
|
||||
if (CODING_REQUIRE_DETECTION (coding))
|
||||
{
|
||||
/* See the comments in code_convert_region. */
|
||||
|
@ -5350,9 +5352,10 @@ decode_coding_string (str, coding, nocopy)
|
|||
}
|
||||
}
|
||||
|
||||
coding->src_multibyte = 0;
|
||||
coding->dst_multibyte = (coding->type != coding_type_no_conversion
|
||||
&& coding->type != coding_type_raw_text);
|
||||
if (coding->type == coding_type_no_conversion
|
||||
|| coding->type == coding_type_raw_text)
|
||||
coding->dst_multibyte = 0;
|
||||
|
||||
require_decoding = CODING_REQUIRE_DECODING (coding);
|
||||
|
||||
if (STRING_MULTIBYTE (str))
|
||||
|
@ -5361,6 +5364,7 @@ decode_coding_string (str, coding, nocopy)
|
|||
str = Fstring_as_unibyte (str);
|
||||
to_byte = STRING_BYTES (XSTRING (str));
|
||||
nocopy = 1;
|
||||
coding->src_multibyte = 0;
|
||||
}
|
||||
|
||||
/* Try to skip the heading and tailing ASCIIs. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue