;;; Code:
-(setq-default buffer-file-coding-system 'no-conversion)
+(setq-default buffer-file-coding-system 'raw-text)
(put 'buffer-file-coding-system 'permanent-local t)
(define-obsolete-variable-alias
("TUTORIAL\\.\\(?:hr\\|pl\\|ro\\)\\'" . iso-8859-2)
;; ("\\.\\(el\\|emacs\\|info\\(-[0-9]+\\)?\\|texi\\)$" . iso-2022-8)
;; ("\\(ChangeLog\\|CHANGES-beta\\)$" . iso-2022-8)
- ("/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,
((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"
(save-excursion
(set-buffer (get-buffer-create " *load*"))
(erase-buffer)
- (let ((coding-system-for-read 'no-conversion))
+ (let ((coding-system-for-read 'raw-text))
(insert-file-contents path nil 1 3001))
(find-coding-system-magic-cookie))
(if elc
the whole thing because (1) it preserves some marker positions
and (2) it puts less data in the undo list.
-NOTE: When Mule support is enabled, the REPLACE argument is
-currently ignored.
-
The coding system used for decoding the file is determined as follows:
1. `coding-system-for-read', if non-nil.
3. The matching value for this filename from
`file-coding-system-alist', if any.
4. `buffer-file-coding-system-for-read', if non-nil.
-5. The coding system 'no-conversion.
+5. The coding system 'raw-text.
If a local value for `buffer-file-coding-system' in the current buffer
does not exist, it is set to the coding system which was actually used
;; #4.
buffer-file-coding-system-for-read
;; #5.
- 'no-conversion))
+ 'raw-text))
(if (consp coding-system)
(setq return-val coding-system)
(if (null (find-coding-system coding-system))
start end filename append visit lockname
coding-system)))
-;;; The following was all that remained in mule-files.el, so I moved it
-;;; here for neatness. -sb
-(when (featurep 'mule)
- (setq-default buffer-file-coding-system 'iso-2022-8))
-
;;; code-files.el ends here