From: Kenichi Handa Date: Mon, 8 May 2006 05:25:02 +0000 (+0000) Subject: (setup_coding_system): For invalid coding-system, set X-Git-Tag: emacs-pretest-22.0.90~2682 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3f0b133f7662e6280b357b0fcf6031f953e16b58;p=emacs.git (setup_coding_system): For invalid coding-system, set coding->eol_type to CODING_EOL_UNDECIDED. (encode_coding): Cancel previous change. (shrink_encoding_region): Likewise. (code_convert_region1): Likewise. (code_convert_string1): Likewise. (code_convert_string_norecord): Likewise. --- diff --git a/src/coding.c b/src/coding.c index bd96b5cc068..155da568007 100644 --- a/src/coding.c +++ b/src/coding.c @@ -384,7 +384,9 @@ Lisp_Object eol_mnemonic_unix, eol_mnemonic_dos, eol_mnemonic_mac; Lisp_Object eol_mnemonic_undecided; /* Format of end-of-line decided by system. This is CODING_EOL_LF on - Unix, CODING_EOL_CRLF on DOS/Windows, and CODING_EOL_CR on Mac. */ + Unix, CODING_EOL_CRLF on DOS/Windows, and CODING_EOL_CR on Mac. + This has an effect only for external encoding (i.e. for output to + file and process), not for in-buffer or Lisp string encoding. */ int system_eol_type; #ifdef emacs @@ -3924,10 +3926,7 @@ setup_coding_system (coding_system, coding) coding->type = coding_type_no_conversion; 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->eol_type = CODING_EOL_UNDECIDED; coding->pre_write_conversion = coding->post_read_conversion = Qnil; return NILP (coding_system) ? 0 : -1; } @@ -5004,7 +5003,7 @@ encode_coding (coding, source, destination, src_bytes, dst_bytes) coding->errors = 0; coding->result = CODING_FINISH_NORMAL; if (coding->eol_type == CODING_EOL_UNDECIDED) - coding->eol_type = system_eol_type; + coding->eol_type = CODING_EOL_LF; switch (coding->type) { @@ -5261,8 +5260,6 @@ shrink_encoding_region (beg, end, coding, str) if (coding->type == coding_type_ccl || coding->eol_type == CODING_EOL_CRLF || coding->eol_type == CODING_EOL_CR - || (coding->eol_type == CODING_EOL_UNDECIDED - && system_eol_type != CODING_EOL_LF) || (coding->cmp_data && coding->cmp_data->used > 0)) { /* We can't skip any data. */ @@ -7118,7 +7115,7 @@ code_convert_region1 (start, end, coding_system, encodep) from = XFASTINT (start); to = XFASTINT (end); - if (NILP (coding_system) && system_eol_type == CODING_EOL_LF) + if (NILP (coding_system)) return make_number (to - from); if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0) @@ -7173,7 +7170,7 @@ code_convert_string1 (string, coding_system, nocopy, encodep) CHECK_STRING (string); CHECK_SYMBOL (coding_system); - if (NILP (coding_system) && system_eol_type == CODING_EOL_LF) + if (NILP (coding_system)) return (NILP (nocopy) ? Fcopy_sequence (string) : string); if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0) @@ -7232,7 +7229,7 @@ code_convert_string_norecord (string, coding_system, encodep) CHECK_STRING (string); CHECK_SYMBOL (coding_system); - if (NILP (coding_system) && system_eol_type == CODING_EOL_LF) + if (NILP (coding_system)) return string; if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)