diff src/file-coding.c @ 4647:e4ed58cb0e5b

Fix bugs with #'find-file, 0-length files, & coding-system-for-read specified. src/ChangeLog addition: 2009-07-11 Aidan Kehoe <kehoea@parhasard.net> * file-coding.c (undecided_canonicalize_after_coding): If no data have been seen, or if coding_stream_canonicalize_after_coding gives nil, pass back str->codesys, which will be of type undecided (the same as the old behaviour) but will reflect any CODESYS argument passed to make_coding_input_stream. See also the change in lisp/code-files.el lisp/ChangeLog addition: 2009-07-11 Aidan Kehoe <kehoea@parhasard.net> * code-files.el (insert-file-contents): Take advantage of more sensible behaviour from #'insert-file-contents-internal, allowing us to actually follow the documented coding system behaviour for nonexistent files (that is, buffer-file-coding-system reflects coding-system-for-read &c., not becoming undecided for either zero-length or nonexistent files). tests/ChangeLog addition: 2009-07-11 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Check for Richard Zidlicky's bug of http://mid.gmane.org/20090602194123.GA5163@linux-m68k.org; also check that supplying CODESYS to #'find-file is respected both for nonexistent files and zero-length existing files.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 11 Jul 2009 16:33:35 +0100
parents 80e0588fb42f
children 257b468bf2ca
line wrap: on
line diff
--- a/src/file-coding.c	Wed Jul 01 16:42:11 2009 -0600
+++ b/src/file-coding.c	Sat Jul 11 16:33:35 2009 +0100
@@ -4078,12 +4078,12 @@
     return str->codesys;
 
   if (!data->c.initted)
-    return Fget_coding_system (Qundecided);
+    return str->codesys;
   
   ret = coding_stream_canonicalize_after_coding
     (XLSTREAM (data->c.lstreams[0]));
   if (NILP (ret))
-    ret = Fget_coding_system (Qundecided);
+    ret = str->codesys;
   if (XCODING_SYSTEM_EOL_TYPE (ret) != EOL_AUTODETECT)
     return ret;
   eolret = coding_stream_canonicalize_after_coding