comparison 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
comparison
equal deleted inserted replaced
83509:24cf4bf418dc 83510:2d2f6f096f6e
3601 eol_type = inhibit_eol_conversion ? Qnil : Fget (coding_system, Qeol_type); 3601 eol_type = inhibit_eol_conversion ? Qnil : Fget (coding_system, Qeol_type);
3602 if (VECTORP (eol_type)) 3602 if (VECTORP (eol_type))
3603 { 3603 {
3604 coding->eol_type = CODING_EOL_UNDECIDED; 3604 coding->eol_type = CODING_EOL_UNDECIDED;
3605 coding->common_flags = CODING_REQUIRE_DETECTION_MASK; 3605 coding->common_flags = CODING_REQUIRE_DETECTION_MASK;
3606 if (system_eol_type != CODING_EOL_LF)
3607 coding->common_flags |= CODING_REQUIRE_ENCODING_MASK;
3606 } 3608 }
3607 else if (XFASTINT (eol_type) == 1) 3609 else if (XFASTINT (eol_type) == 1)
3608 { 3610 {
3609 coding->eol_type = CODING_EOL_CRLF; 3611 coding->eol_type = CODING_EOL_CRLF;
3610 coding->common_flags 3612 coding->common_flags
3916 3918
3917 label_invalid_coding_system: 3919 label_invalid_coding_system:
3918 coding->type = coding_type_no_conversion; 3920 coding->type = coding_type_no_conversion;
3919 coding->category_idx = CODING_CATEGORY_IDX_BINARY; 3921 coding->category_idx = CODING_CATEGORY_IDX_BINARY;
3920 coding->common_flags = 0; 3922 coding->common_flags = 0;
3921 coding->eol_type = CODING_EOL_LF; 3923 coding->eol_type = NILP (coding_system) ? system_eol_type : CODING_EOL_LF;
3924 if (coding->eol_type != CODING_EOL_LF)
3925 coding->common_flags
3926 |= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK;
3922 coding->pre_write_conversion = coding->post_read_conversion = Qnil; 3927 coding->pre_write_conversion = coding->post_read_conversion = Qnil;
3923 return -1; 3928 return NILP (coding_system) ? 0 : -1;
3924 } 3929 }
3925 3930
3926 /* Free memory blocks allocated for storing composition information. */ 3931 /* Free memory blocks allocated for storing composition information. */
3927 3932
3928 void 3933 void
4992 { 4997 {
4993 coding->produced = coding->produced_char = 0; 4998 coding->produced = coding->produced_char = 0;
4994 coding->consumed = coding->consumed_char = 0; 4999 coding->consumed = coding->consumed_char = 0;
4995 coding->errors = 0; 5000 coding->errors = 0;
4996 coding->result = CODING_FINISH_NORMAL; 5001 coding->result = CODING_FINISH_NORMAL;
5002 if (coding->eol_type == CODING_EOL_UNDECIDED)
5003 coding->eol_type = system_eol_type;
4997 5004
4998 switch (coding->type) 5005 switch (coding->type)
4999 { 5006 {
5000 case coding_type_sjis: 5007 case coding_type_sjis:
5001 encode_coding_sjis_big5 (coding, source, destination, 5008 encode_coding_sjis_big5 (coding, source, destination,
5248 Lisp_Object translation_table; 5255 Lisp_Object translation_table;
5249 5256
5250 if (coding->type == coding_type_ccl 5257 if (coding->type == coding_type_ccl
5251 || coding->eol_type == CODING_EOL_CRLF 5258 || coding->eol_type == CODING_EOL_CRLF
5252 || coding->eol_type == CODING_EOL_CR 5259 || coding->eol_type == CODING_EOL_CR
5260 || (coding->eol_type == CODING_EOL_UNDECIDED
5261 && system_eol_type != CODING_EOL_LF)
5253 || (coding->cmp_data && coding->cmp_data->used > 0)) 5262 || (coding->cmp_data && coding->cmp_data->used > 0))
5254 { 5263 {
5255 /* We can't skip any data. */ 5264 /* We can't skip any data. */
5256 return; 5265 return;
5257 } 5266 }
7103 7112
7104 validate_region (&start, &end); 7113 validate_region (&start, &end);
7105 from = XFASTINT (start); 7114 from = XFASTINT (start);
7106 to = XFASTINT (end); 7115 to = XFASTINT (end);
7107 7116
7108 if (NILP (coding_system)) 7117 if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
7109 return make_number (to - from); 7118 return make_number (to - from);
7110 7119
7111 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0) 7120 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
7112 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system))); 7121 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system)));
7113 7122
7158 struct coding_system coding; 7167 struct coding_system coding;
7159 7168
7160 CHECK_STRING (string); 7169 CHECK_STRING (string);
7161 CHECK_SYMBOL (coding_system); 7170 CHECK_SYMBOL (coding_system);
7162 7171
7163 if (NILP (coding_system)) 7172 if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
7164 return (NILP (nocopy) ? Fcopy_sequence (string) : string); 7173 return (NILP (nocopy) ? Fcopy_sequence (string) : string);
7165 7174
7166 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0) 7175 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
7167 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system))); 7176 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system)));
7168 7177
7217 struct coding_system coding; 7226 struct coding_system coding;
7218 7227
7219 CHECK_STRING (string); 7228 CHECK_STRING (string);
7220 CHECK_SYMBOL (coding_system); 7229 CHECK_SYMBOL (coding_system);
7221 7230
7222 if (NILP (coding_system)) 7231 if (NILP (coding_system) && system_eol_type == CODING_EOL_LF)
7223 return string; 7232 return string;
7224 7233
7225 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0) 7234 if (setup_coding_system (Fcheck_coding_system (coding_system), &coding) < 0)
7226 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system))); 7235 error ("Invalid coding system: %s", SDATA (SYMBOL_NAME (coding_system)));
7227 7236