diff tests/automated/mule-tests.el @ 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 a9f83990e6bf
children 8905163c49c5
line wrap: on
line diff
--- a/tests/automated/mule-tests.el	Wed Jul 01 16:42:11 2009 -0600
+++ b/tests/automated/mule-tests.el	Sat Jul 11 16:33:35 2009 +0100
@@ -141,6 +141,26 @@
     (kill-buffer nil))
   (delete-file test-file-name))
 
+(let ((existing-file-name 
+       (make-temp-file (expand-file-name "k7lCS2Mg" (temp-directory))))
+      (nonexistent-file-name
+       (make-temp-name (temp-directory))))
+  (find-file existing-file-name)
+  (Assert (not (eq 'undecided
+                   (coding-system-type buffer-file-coding-system))))
+  (kill-buffer nil)
+  (dolist (coding-system '(utf-8 windows-1251 macintosh big5))
+    (when (find-coding-system coding-system)
+      (find-file existing-file-name coding-system)
+      (Assert (eq (find-coding-system coding-system)
+                  buffer-file-coding-system))
+      (kill-buffer nil)
+      (find-file nonexistent-file-name coding-system)
+      (Assert (eq (find-coding-system coding-system)
+                  buffer-file-coding-system))
+      (kill-buffer nil)))
+  (delete-file existing-file-name))
+  
 ;;-----------------------------------------------------------------
 ;; Test string modification functions that modify the length of a char.
 ;;-----------------------------------------------------------------