(setup_coding_system): If eol-type is not yet decided
and system_eol_type is not LF, set CODING_REQUIRE_ENCODING_MASK. If coding_system is nil, return 0. (code_convert_region1): Even if coding_system is nil, don't skip conversion if system_eol_type is not LF. (code_convert_string1): Likewise. (code_convert_string_norecord): Likewise.
This commit is contained in:
parent
73ec0f8900
commit
6e9715ae06
2 changed files with 19 additions and 4 deletions
13
src/coding.c
13
src/coding.c
|
@ -3607,6 +3607,8 @@ setup_coding_system (coding_system, coding)
|
|||
{
|
||||
coding->eol_type = CODING_EOL_UNDECIDED;
|
||||
coding->common_flags = CODING_REQUIRE_DETECTION_MASK;
|
||||
if (system_eol_type != CODING_EOL_LF)
|
||||
coding->common_flags |= CODING_REQUIRE_ENCODING_MASK;
|
||||
}
|
||||
else if (XFASTINT (eol_type) == 1)
|
||||
{
|
||||
|
@ -3923,8 +3925,11 @@ setup_coding_system (coding_system, coding)
|
|||
coding->category_idx = CODING_CATEGORY_IDX_BINARY;
|
||||
coding->common_flags = 0;
|
||||
coding->eol_type = NILP (coding_system) ? system_eol_type : CODING_EOL_LF;
|
||||
if (coding->eol_type != CODING_EOL_LF)
|
||||
coding->common_flags
|
||||
|= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK;
|
||||
coding->pre_write_conversion = coding->post_read_conversion = Qnil;
|
||||
return -1;
|
||||
return NILP (coding_system) ? 0 : -1;
|
||||
}
|
||||
|
||||
/* Free memory blocks allocated for storing composition information. */
|
||||
|
@ -7113,7 +7118,7 @@ code_convert_region1 (start, end, coding_system, encodep)
|
|||
from = XFASTINT (start);
|
||||
to = XFASTINT (end);
|
||||
|
||||
if (NILP (coding_system))
|
||||
if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
|
||||
return make_number (to - from);
|
||||
|
||||
if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
|
||||
|
@ -7168,7 +7173,7 @@ code_convert_string1 (string, coding_system, nocopy, encodep)
|
|||
CHECK_STRING (string);
|
||||
CHECK_SYMBOL (coding_system);
|
||||
|
||||
if (NILP (coding_system))
|
||||
if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
|
||||
return (NILP (nocopy) ? Fcopy_sequence (string) : string);
|
||||
|
||||
if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
|
||||
|
@ -7227,7 +7232,7 @@ code_convert_string_norecord (string, coding_system, encodep)
|
|||
CHECK_STRING (string);
|
||||
CHECK_SYMBOL (coding_system);
|
||||
|
||||
if (NILP (coding_system))
|
||||
if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
|
||||
return string;
|
||||
|
||||
if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue