diff lisp/code-files.el @ 367:a4f53d9b3154 r21-1-13

Import from CVS: tag r21-1-13
author cvs
date Mon, 13 Aug 2007 11:01:07 +0200
parents 3b3709405255
children cc15677e0335
line wrap: on
line diff
--- a/lisp/code-files.el	Mon Aug 13 11:00:13 2007 +0200
+++ b/lisp/code-files.el	Mon Aug 13 11:01:07 2007 +0200
@@ -71,7 +71,13 @@
     ;; ("\\.\\(el\\|emacs\\|info\\(-[0-9]+\\)?\\|texi\\)$" . iso-2022-8)
     ;; ("\\(ChangeLog\\|CHANGES-beta\\)$" . iso-2022-8)
     ("\\.\\(gz\\|Z\\)$" . binary)
-    ("/spool/mail/.*$" . convert-mbox-coding-system))
+
+    ;; This idea is totally broken, and the code didn't work anyway.
+    ;; Mailboxes should be decoded by mail clients, who actually know
+    ;; how to deal with them.  Otherwise, their contents should be
+    ;; treated as `binary'.
+    ;("/spool/mail/.*$" . convert-mbox-coding-system)
+    )
   "Alist to decide a coding system to use for a file I/O operation.
 The format is ((PATTERN . VAL) ...),
 where PATTERN is a regular expression matching a file name,
@@ -194,22 +200,12 @@
 	    ((find-coding-system codesys))
 	    ))))
 
-(defun convert-mbox-coding-system (filename visit start end)
-  "Decoding function for Unix mailboxes.
-Does separate detection and decoding on each message, since each
-message might be in a different encoding."
-  (let ((buffer-read-only nil))
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      (while (not (eobp))
-	(let ((start (point))
-	      end)
-	  (forward-char 1)
-	  (if (re-search-forward "^From" nil 'move)
-	      (beginning-of-line))
-	  (setq end (point))
-	  (decode-coding-region start end 'undecided))))))
+;; This is completely broken, not only in implementation (does not
+;; understand MIME), but in concept -- such high-level decoding should
+;; be done by mail readers, not by IO code!
+
+;(defun convert-mbox-coding-system (filename visit start end)
+;...
 
 (defun find-coding-system-magic-cookie ()
   "Look for the coding-system magic cookie in the current buffer.\n"