Mercurial > emacs
diff src/coding.c @ 83510:2d2f6f096f6e
Merged from emacs@sv.gnu.org
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-216
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-217
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-218
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-219
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-220
Improve tq.el.
* emacs@sv.gnu.org/emacs--devo--0--patch-221
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-222
Update from CVS: src/puresize.h (PURESIZE_RATIO): Reduce to 10/6.
* emacs@sv.gnu.org/emacs--devo--0--patch-223
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-224
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-225
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-226
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-227
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-228
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-229
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-230
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-231
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-232
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-233
Update from CVS: lisp/progmodes/python.el (python-mode): Fix typo.
* emacs@sv.gnu.org/gnus--rel--5.10--patch-84
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-85
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-86
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-550
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Wed, 19 Apr 2006 16:23:46 +0000 |
parents | 0cdee8b991e1 d4a5619e5025 |
children | 1321f6cfb389 |
line wrap: on
line diff
--- a/src/coding.c Wed Apr 12 17:40:36 2006 +0000 +++ b/src/coding.c Wed Apr 19 16:23:46 2006 +0000 @@ -3603,6 +3603,8 @@ { 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) { @@ -3918,9 +3920,12 @@ coding->type = coding_type_no_conversion; coding->category_idx = CODING_CATEGORY_IDX_BINARY; coding->common_flags = 0; - coding->eol_type = CODING_EOL_LF; + 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. */ @@ -4994,6 +4999,8 @@ coding->consumed = coding->consumed_char = 0; coding->errors = 0; coding->result = CODING_FINISH_NORMAL; + if (coding->eol_type == CODING_EOL_UNDECIDED) + coding->eol_type = system_eol_type; switch (coding->type) { @@ -5250,6 +5257,8 @@ 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. */ @@ -7105,7 +7114,7 @@ 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) @@ -7160,7 +7169,7 @@ 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) @@ -7219,7 +7228,7 @@ 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)