;; General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with XEmacs; see the file COPYING. If not, write to the
+;; along with XEmacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
("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,
(coding-system-base buffer-file-coding-system)
(cond ((eq eol-type 'lf) 'crlf)
((eq eol-type 'crlf) 'lf)
- ((eq eol-type 'cr) 'lf))))))
+ ((eq eol-type 'cr) 'lf))))
+ (set-buffer-modified-p t)))
(define-obsolete-function-alias
'set-file-coding-system
((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"
-"The coding-system magic cookie is the exact string\n"
-"\";;;###coding system: \" followed by a valid coding system symbol,\n"
-"somewhere within the first 3000 characters of the file. If found,\n"
-"the coding system symbol is returned; otherwise nil is returned.\n"
-"Note that it is extremely unlikely that such a string would occur\n"
-"coincidentally as the result of encoding some characters in a non-ASCII\n"
-"charset, and that the spaces make it even less likely since the space\n"
-"character is not a valid octet in any ISO 2022 encoding of most non-ASCII\n"
-"charsets."
+ "Look for the coding-system magic cookie in the current buffer.
+The coding-system magic cookie is the exact string
+\";;;###coding system: \" followed by a valid coding system symbol,
+somewhere within the first 3000 characters of the file. If found,
+the coding system symbol is returned; otherwise nil is returned.
+Note that it is extremely unlikely that such a string would occur
+coincidentally as the result of encoding some characters in a non-ASCII
+charset, and that the spaces make it even less likely since the space
+character is not a valid octet in any ISO 2022 encoding of most non-ASCII
+charsets."
(save-excursion
(goto-char (point-min))
(or (and (looking-at
a cons of absolute pathname and length of data inserted (the same
thing as will be returned from `insert-file-contents').")
-(defun insert-file-contents (filename &optional visit beg end replace)
+(defun insert-file-contents (filename &optional visit start end replace)
"Insert contents of file FILENAME after point.
Returns list of absolute file name and length of data inserted.
If second argument VISIT is non-nil, the buffer's visited filename
If visiting and the file does not exist, visiting is completed
before the error is signaled.
-The optional third and fourth arguments BEG and END
+The optional third and fourth arguments START and END
specify what portion of the file to insert.
-If VISIT is non-nil, BEG and END must be nil.
+If VISIT is non-nil, START and END must be nil.
If optional fifth argument REPLACE is non-nil,
it means replace the current buffer contents (in the accessible portion)
with the file contents. This is better than simply deleting and inserting
coding-system)
(setq coding-system 'undecided)))
(setq return-val
- (insert-file-contents-internal filename visit beg end
+ (insert-file-contents-internal filename visit start end
replace coding-system
;; store here!
'used-codesys))
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