]> code.delx.au - gnu-emacs/commitdiff
Remove all references to buffer-file-type and related features.
authorEli Zaretskii <eliz@gnu.org>
Sat, 9 Feb 2013 12:52:01 +0000 (14:52 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 9 Feb 2013 12:52:01 +0000 (14:52 +0200)
 src/xdisp.c (decode_mode_spec): Remove handling of %t.

 lisp/net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference
 buffer-file-type.
 lisp/mail/feedmail.el (feedmail-force-binary-write): Doc fix.
 (feedmail-run-the-queue, feedmail-dump-message-to-queue)
 (feedmail-send-it-immediately): Don't bind buffer-file-type, bind
 coding-system-for-write instead.
 lisp/jka-compr.el (jka-compr-write-region): Don't bind
 buffer-file-type.
 lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't bind
 buffer-file-type.
 lisp/files.el (file-name-buffer-file-type-alist): Remove defvar.
 (insert-file-contents-literally): Remove reference to
 file-name-buffer-file-type-alist.
 lisp/dos-w32.el (file-name-buffer-file-type-alist): Deprecate and
 make-obsolete.
 (find-buffer-file-type-match, find-buffer-file-type): Remove.
 (find-buffer-file-type-coding-system): Remove references to
 find-buffer-file-type-match, find-buffer-file-type, and
 buffer-file-type.
 Don't put find-buffer-file-type-coding-system into
 file-coding-system-alist.
 (find-file-binary, find-file-text): Bind coding-system-for-read
 instead of file-name-buffer-file-type-alist.
 lisp/erc/erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.

 doc/emacs/msdog.texi (Text and Binary): Delete the description of
 file-name-buffer-file-type-alist.

 doc/lispref/modes.texi (%-Constructs): Remove the description of %t.
 doc/lispref/nonascii.texi (MS-DOS File Types): Delete node.

Fixes: debbugs:12989
19 files changed:
doc/emacs/ChangeLog
doc/emacs/msdog.texi
doc/lispref/ChangeLog
doc/lispref/elisp.texi
doc/lispref/modes.texi
doc/lispref/nonascii.texi
etc/NEWS
lisp/ChangeLog
lisp/arc-mode.el
lisp/dos-w32.el
lisp/emacs-lisp/bytecomp.el
lisp/erc/ChangeLog
lisp/erc/erc-dcc.el
lisp/files.el
lisp/jka-compr.el
lisp/mail/feedmail.el
lisp/net/ange-ftp.el
src/ChangeLog
src/xdisp.c

index 3b7ab6527aa9edf158647706318155f17908ccfe..d2f44eabb0e35168cbe1f2427581a59a80867d52 100644 (file)
@@ -1,3 +1,8 @@
+2013-02-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * msdog.texi (Text and Binary): Delete the description of
+       file-name-buffer-file-type-alist.
+
 2013-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 
        * trouble.texi (Crashing): Suggest -p for newer addr2line.  (Bug#13445)
index 2c22c89a1133f9d01f43ae024335362cc2e5adbd..0f01958b51ca9b833f066277feba29be2e9b9d8e 100644 (file)
@@ -218,29 +218,6 @@ set conversion, only end-of-line conversion.  Essentially, it directs
 Emacs to create new files with the Unix-style convention of using
 newline at the end of a line.  @xref{Coding Systems}.
 
-@vindex file-name-buffer-file-type-alist
-@cindex binary files, on MS-DOS/MS-Windows
-  Some kinds of files should not be converted at all, because their
-contents are not really text.  Therefore, Emacs on MS-Windows distinguishes
-certain files as @dfn{binary files}.  (This distinction is not part of
-MS-Windows; it is made by Emacs only.)  Binary files include executable
-programs, compressed archives, etc.  Emacs uses the file name to decide
-whether to treat a file as binary: the variable
-@code{file-name-buffer-file-type-alist} defines the file-name patterns
-that indicate binary files.  If a file name matches one of the patterns
-for binary files (those whose associations are of the type
-@code{(@var{pattern} . t)}, Emacs reads and writes that file using the
-@code{no-conversion} coding system (@pxref{Coding Systems}) which turns
-off @emph{all} coding-system conversions, not only the EOL conversion.
-@code{file-name-buffer-file-type-alist} also includes file-name patterns
-for files which are known to be Windows-style text files with
-carriage-return linefeed EOL format, such as @file{CONFIG.SYS}; Emacs
-always writes those files with Windows-style EOLs.
-
-  If a file that belongs to an untranslated file system matches one of
-the file-name patterns in @code{file-name-buffer-file-type-alist}, the
-EOL conversion is determined by @code{file-name-buffer-file-type-alist}.
-
 @node Windows Files
 @section File Names on MS-Windows
 @cindex file names on MS-Windows
index 7c444a038af145c015dfb1b3a077e7e58ce4b5cc..90b2349387f098eee397894ffab5e7254526bd0d 100644 (file)
@@ -1,3 +1,9 @@
+2013-02-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * modes.texi (%-Constructs): Remove the description of %t.
+
+       * nonascii.texi (MS-DOS File Types): Delete node.
+
 2013-02-08  Glenn Morris  <rgm@gnu.org>
 
        * keymaps.texi (Active Keymaps, Searching Keymaps):
index 127b22086d0bf9dddfe23f91f69fa932a778cd65..3d1c4cf577d211e69f5fd55277cfa709e040c694 100644 (file)
@@ -1209,8 +1209,6 @@ Coding Systems
                                     for a single file operation.
 * Explicit Encoding::       Encoding or decoding text without doing I/O.
 * Terminal I/O Encoding::   Use of encoding for terminal I/O.
-* MS-DOS File Types::       How DOS "text" and "binary" files
-                                relate to coding systems.
 
 Searching and Matching
 
index 29aba877ba2ce504b66afc1ecf99d22a17d7b6bd..71ce2bb9271081e1ea70bd1fbfac54805dd2ab93 100644 (file)
@@ -2150,11 +2150,6 @@ visible on screen; or @samp{Bottom} or @samp{All}.
 The status of the subprocess belonging to the current buffer, obtained with
 @code{process-status}.  @xref{Process Information}.
 
-@item %t
-Whether the visited file is a text file or a binary file.  This is a
-meaningful distinction only on certain operating systems (@pxref{MS-DOS
-File Types}).
-
 @item %z
 The mnemonics of keyboard, terminal, and buffer coding systems.
 
index 9ad68be60cbfb4c7f50575ec978985442120abe4..e462c3b4ce40624d62874af31c62131ef4ab9160 100644 (file)
@@ -855,8 +855,6 @@ documented here.
                                     for a single file operation.
 * Explicit Encoding::           Encoding or decoding text without doing I/O.
 * Terminal I/O Encoding::       Use of encoding for terminal I/O.
-* MS-DOS File Types::           How DOS "text" and "binary" files
-                                    relate to coding systems.
 @end menu
 
 @node Coding System Basics
@@ -1775,62 +1773,6 @@ for encoding terminal output from @var{terminal}.  If
 @code{nil}, that means the currently selected frame's terminal.
 @end deffn
 
-@node MS-DOS File Types
-@subsection MS-DOS File Types
-@cindex DOS file types
-@cindex MS-DOS file types
-@cindex Windows file types
-@cindex file types on MS-DOS and Windows
-@cindex text files and binary files
-@cindex binary files and text files
-
-  On MS-DOS and Microsoft Windows, Emacs guesses the appropriate
-end-of-line conversion for a file by looking at the file's name.  This
-feature classifies files as @dfn{text files} and @dfn{binary files}.  By
-``binary file'' we mean a file of literal byte values that are not
-necessarily meant to be characters; Emacs does no end-of-line conversion
-and no character code conversion for them.  On the other hand, the bytes
-in a text file are intended to represent characters; when you create a
-new file whose name implies that it is a text file, Emacs uses DOS
-end-of-line conversion.
-
-@defvar buffer-file-type
-This variable, automatically buffer-local in each buffer, records the
-file type of the buffer's visited file.  When a buffer does not specify
-a coding system with @code{buffer-file-coding-system}, this variable is
-used to determine which coding system to use when writing the contents
-of the buffer.  It should be @code{nil} for text, @code{t} for binary.
-If it is @code{t}, the coding system is @code{no-conversion}.
-Otherwise, @code{undecided-dos} is used.
-
-Normally this variable is set by visiting a file; it is set to
-@code{nil} if the file was visited without any actual conversion.
-
-Its default value is used to decide how to handle files for which
-@code{file-name-buffer-file-type-alist} says nothing about the type:
-If the default value is non-@code{nil}, then these files are treated as
-binary: the coding system @code{no-conversion} is used.  Otherwise,
-nothing special is done for them---the coding system is deduced solely
-from the file contents, in the usual Emacs fashion.
-@end defvar
-
-@defopt file-name-buffer-file-type-alist
-This variable holds an alist for recognizing text and binary files.
-Each element has the form (@var{regexp} . @var{type}), where
-@var{regexp} is matched against the file name, and @var{type} may be
-@code{nil} for text, @code{t} for binary, or a function to call to
-compute which.  If it is a function, then it is called with a single
-argument (the file name) and should return @code{t} or @code{nil}.
-
-When running on MS-DOS or MS-Windows, Emacs checks this alist to decide
-which coding system to use when reading a file.  For a text file,
-@code{undecided-dos} is used.  For a binary file, @code{no-conversion}
-is used.
-
-If no element in this alist matches a given file name, then
-the default value of @code{buffer-file-type} says how to treat the file.
-@end defopt
-
 @node Input Methods
 @section Input Methods
 @cindex input methods
index f068110d5f03d3a6bde55577159b1a3b22e1ec45..d1723166b6e25a857ebf19429067c1aac738c7ac 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -280,6 +280,12 @@ and ACL entries.
 The backtrace is written to the 'emacs_backtrace.txt' file in the
 directory where Emacs was running.
 
++++
+** The variable `buffer-file-type' is no longer supported.
+Setting it has no effect, and %t in the mode-line format is ignored.
+Likewise, `file-name-buffer-file-type-alist' is now obsolete, and
+modifying it has no effect.
+
 \f
 * Installation Changes in Emacs 24.3
 
index f5b6daf16d88975ea8d59aaa95a904ef148f261b..0712f9a1fc8d15cfd59826d14e18e300a710c795 100644 (file)
@@ -1,3 +1,34 @@
+2013-02-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * net/ange-ftp.el (ange-ftp-insert-file-contents): Don't reference
+       buffer-file-type.
+
+       * mail/feedmail.el (feedmail-force-binary-write): Doc fix.
+       (feedmail-run-the-queue, feedmail-dump-message-to-queue)
+       (feedmail-send-it-immediately): Don't bind buffer-file-type, bind
+       coding-system-for-write instead.
+
+       * jka-compr.el (jka-compr-write-region): Don't bind
+       buffer-file-type.
+
+       * emacs-lisp/bytecomp.el (byte-compile-file): Don't bind
+       buffer-file-type.
+
+       * files.el (file-name-buffer-file-type-alist): Remove defvar.
+       (insert-file-contents-literally): Remove reference to
+       file-name-buffer-file-type-alist.
+
+       * dos-w32.el (file-name-buffer-file-type-alist): Deprecate and
+       make-obsolete.
+       (find-buffer-file-type-match, find-buffer-file-type): Remove.
+       (find-buffer-file-type-coding-system): Remove references to
+       find-buffer-file-type-match, find-buffer-file-type, and
+       buffer-file-type.
+       Don't put find-buffer-file-type-coding-system into
+       file-coding-system-alist.
+       (find-file-binary, find-file-text): Bind coding-system-for-read
+       instead of file-name-buffer-file-type-alist.
+
 2013-02-09  Tassilo Horn  <tsdh@gnu.org>
 
        * doc-view.el: Use (and prefer) soffice as default ODF->PDF
index 8849fb852440d838d1d33f9a62e199a1636b0803..4fc04b706b54e254eb8709ffa853f5ea3e2810f4 100644 (file)
@@ -975,11 +975,6 @@ using `make-temp-file', and the generated name is returned."
                    (save-excursion
                      (funcall set-auto-coding-function
                               filename (- (point-max) (point-min)))))
-              ;; dos-w32.el defines the function
-              ;; find-buffer-file-type-coding-system for DOS/Windows
-              ;; systems which preserves the coding-system of existing files.
-              ;; (That function is called via file-coding-system-alist.)
-              ;; Here, we want it to act as if the extracted file existed.
               ;; The following let-binding of file-name-handler-alist forces
               ;; find-file-not-found-set-buffer-file-coding-system to ignore
               ;; the file's name (see dos-w32.el).
index 5866edfc3d663d230e2a688ad159462c7c433e6c..d6788ffe028745ad6577bb27a0b92b79f853b5b5 100644 (file)
@@ -37,7 +37,7 @@
 ;; Set the null device (for compile.el).
 (setq null-device "NUL")
 
-;; For distinguishing file types based upon suffixes.
+;; For distinguishing file types based upon suffixes.  DEPRECATED, DO NOT USE!
 (defcustom file-name-buffer-file-type-alist
   '(("[:/].*config.sys$" . nil)                ; config.sys text
     ("\\.\\(obj\\|exe\\|com\\|lib\\|sys\\|bin\\|ico\\|pif\\|class\\)$" . t)
     ("\\.tp[ulpw]$" . t)               ; borland Pascal stuff
     ("[:/]tags$" . nil)                        ; emacs TAGS file
     )
-  "Alist for distinguishing text files from binary files.
+  "Alist used in the past for distinguishing text files from binary files.
 Each element has the form (REGEXP . TYPE), where REGEXP is matched
-against the file name, and TYPE is nil for text, t for binary."
+against the file name, and TYPE is nil for text, t for binary.
+
+This variable is deprecated, not used anywhere, and will soon be deleted."
   :type '(repeat (cons regexp boolean))
   :group 'dos-fns
   :group 'w32)
 
-;; Return the pair matching filename on file-name-buffer-file-type-alist,
-;; or nil otherwise.
-(defun find-buffer-file-type-match (filename)
-  (let ((alist file-name-buffer-file-type-alist)
-       (found nil))
-    (let ((case-fold-search t))
-      (setq filename (file-name-sans-versions filename))
-      (while (and (not found) alist)
-       (if (string-match (car (car alist)) filename)
-           (setq found (car alist)))
-       (setq alist (cdr alist)))
-      found)))
-
-;; Don't check for untranslated file systems here.
-(defun find-buffer-file-type (filename)
-  (let ((match (find-buffer-file-type-match filename))
-       (code))
-    (if (not match)
-       (default-value 'buffer-file-type)
-      (setq code (cdr match))
-      (cond ((memq code '(nil t)) code)
-           ((and (symbolp code) (fboundp code))
-            (funcall code filename))))))
+(make-obsolete-variable 'file-name-buffer-file-type-alist
+                       'file-coding-system-alist
+                       "24.4")
 
 (setq-default buffer-file-coding-system 'undecided-dos)
 
@@ -99,9 +81,6 @@ and whether the file exists:
   If it matches in `untranslated-filesystem-list':
     If the file exists:                                        `undecided'
     If the file does not exist:                                `undecided-unix'
-  If it matches in `file-name-buffer-file-type-alist':
-    If the match is t (for binary):                    `no-conversion'
-    If the match is nil (for dos-text):                        `undecided-dos'
   Otherwise:
     If the file exists:                                        `undecided'
     If the file does not exist   default value of `buffer-file-coding-system'
@@ -110,25 +89,23 @@ Note that the CAR of arguments to `insert-file-contents' operation could
 be a cons cell of the form \(FILENAME . BUFFER\), where BUFFER is a buffer
 into which the file's contents were already read, but not yet decoded.
 
-If operation is `write-region', the coding system is chosen based upon
-the value of `buffer-file-coding-system' and `buffer-file-type'. If
-`buffer-file-coding-system' is non-nil, its value is used.  If it is
-nil and `buffer-file-type' is t, the coding system is `no-conversion'.
+If operation is `write-region', the coding system is chosen based
+upon the value of `buffer-file-coding-system'.  If
+`buffer-file-coding-system' is non-nil, its value is used.
 Otherwise, it is `undecided-dos'.
 
-The two most common situations are when DOS and Unix files are read
-and written, and their names do not match in
-`untranslated-filesystem-list' and `file-name-buffer-file-type-alist'.
-In these cases, the coding system initially will be `undecided'.  As
-the file is read in the DOS case, the coding system will be changed to
-`undecided-dos' as CR/LFs are detected.  As the file is read in the
-Unix case, the coding system will be changed to `undecided-unix' as
-LFs are detected.  In both cases, `buffer-file-coding-system' will be
-set to the appropriate coding system, and the value of
-`buffer-file-coding-system' will be used when writing the file."
+The most common situation is when DOS and Unix files are read and
+written, and their names do not match in `untranslated-filesystem-list'.
+In these cases, the coding system initially will be `undecided'.
+As the file is read in the DOS case, the coding system will be
+changed to `undecided-dos' as CR/LFs are detected.  As the file
+is read in the Unix case, the coding system will be changed to
+`undecided-unix' as LFs are detected.  In both cases,
+`buffer-file-coding-system' will be set to the appropriate coding
+system, and the value of `buffer-file-coding-system' will be used
+when writing the file."
 
   (let ((op (nth 0 command))
-       (binary nil) (text nil)
        (undecided nil) (undecided-unix nil)
        target target-buf)
     (cond ((eq op 'insert-file-contents)
@@ -144,15 +121,8 @@ set to the appropriate coding system, and the value of
                   (and (bufferp (cdr target))
                        (buffer-name (cdr target))))
             (setq target (car target)))
-          ;; First check for a file name that indicates
-          ;; it is truly binary.
-          (setq binary (find-buffer-file-type target))
-          (cond (binary)
-                ;; Next check for files that MUST use DOS eol conversion.
-                ((find-buffer-file-type-match target)
-                 (setq text t))
-                ;; For any other existing file, decide based on contents.
-                ((or
+          (cond ((or
+                  ;; For any existing file, decide based on contents.
                   (file-exists-p target)
                   ;; If TARGET does not exist as a file, replace its
                   ;; base name with TARGET-BUF and try again.  This
@@ -167,9 +137,7 @@ set to the appropriate coding system, and the value of
                 ;; Next check for a non-DOS file system.
                 ((untranslated-file-p target)
                  (setq undecided-unix t)))
-          (cond (binary '(no-conversion . no-conversion))
-                (text '(undecided-dos . undecided-dos))
-                (undecided-unix '(undecided-unix . undecided-unix))
+          (cond (undecided-unix '(undecided-unix . undecided-unix))
                 (undecided '(undecided . undecided))
                 (t (cons (default-value 'buffer-file-coding-system)
                          (default-value 'buffer-file-coding-system)))))
@@ -180,22 +148,18 @@ set to the appropriate coding system, and the value of
             ;; Normally this is used only in a non-file-visiting
             ;; buffer, because normally buffer-file-coding-system is non-nil
             ;; in a file-visiting buffer.
-            (if buffer-file-type
-                '(no-conversion . no-conversion)
-              '(undecided-dos . undecided-dos)))))))
-
-(modify-coding-system-alist 'file "" 'find-buffer-file-type-coding-system)
+            '(undecided-dos . undecided-dos))))))
 
 (defun find-file-binary (filename)
   "Visit file FILENAME and treat it as binary."
   (interactive "FFind file binary: ")
-  (let ((file-name-buffer-file-type-alist '(("" . t))))
+  (let ((coding-system-for-read 'no-conversion))
     (find-file filename)))
 
 (defun find-file-text (filename)
   "Visit file FILENAME and treat it as a text file."
   (interactive "FFind file text: ")
-  (let ((file-name-buffer-file-type-alist '(("" . nil))))
+  (let ((coding-system-for-read 'undecided-dos))
     (find-file filename)))
 
 (defun find-file-not-found-set-buffer-file-coding-system ()
index 4e002cfc8cb8d6debbe33f545eb2bd845523cc50..280a1bbc2dd0d44141e24506d6fba846a0a5b165 100644 (file)
@@ -1795,8 +1795,6 @@ The value is non-nil if there were no errors, nil if errors."
                     (kill-emacs-hook
                      (cons (lambda () (ignore-errors (delete-file tempfile)))
                            kill-emacs-hook)))
-               (if (memq system-type '(ms-dos 'windows-nt))
-                   (setq buffer-file-type t))
                (write-region (point-min) (point-max) tempfile nil 1)
                ;; This has the intentional side effect that any
                ;; hard-links to target-file continue to
index bbe551c735de17687dd3d31aff1f5c85cd36a443..cc7624dee03a63919ab237cc71e8eafa05ce8bbe 100644 (file)
@@ -1,3 +1,7 @@
+2013-02-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.
+
 2013-01-11  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * erc-dcc.el (erc-dcc-send-file): Use point-min-marker.
index c27bb629f9dc45d3fda4096be4a425d4c3304191..acb8febea80adbb73d990f0aec36f33c7c2878aa 100644 (file)
@@ -942,7 +942,6 @@ filter and a process sentinel, and making the connection."
         (set-buffer-multibyte nil))
 
       (setq mode-line-process '(":%s")
-            buffer-file-type t
             buffer-read-only t)
       (setq erc-dcc-file-name file)
 
index 3bc3059c68fcdbfe218dbc5e08c11772a60f34f8..9fca70d36f72d787791560eb0390d5508c331598 100644 (file)
@@ -1983,8 +1983,6 @@ Do you want to revisit the file normally now? ")
        (after-find-file error (not nowarn)))
       (current-buffer))))
 \f
-(defvar file-name-buffer-file-type-alist) ;From dos-w32.el.
-
 (defun insert-file-contents-literally (filename &optional visit beg end replace)
   "Like `insert-file-contents', but only reads in the file literally.
 A buffer may be modified in several ways after reading into the buffer,
@@ -1996,7 +1994,6 @@ This function ensures that none of these modifications will take place."
        (after-insert-file-functions nil)
        (coding-system-for-read 'no-conversion)
        (coding-system-for-write 'no-conversion)
-       (file-name-buffer-file-type-alist '(("" . t)))
         (inhibit-file-name-handlers
          ;; FIXME: Yuck!!  We should turn insert-file-contents-literally
          ;; into a file operation instead!
index ac81cf0d52d26702c1c1c657b369f2a3754b396e..5664a890cb13773b2a04733ff384dee062bfa8da 100644 (file)
@@ -332,8 +332,6 @@ There should be no more than seven characters after the final `/'."
 
          (with-current-buffer temp-buffer
            (let ((coding-system-for-write 'no-conversion))
-             (if (memq system-type '(ms-dos windows-nt))
-                 (setq buffer-file-type t) )
              (jka-compr-run-real-handler 'write-region
                                          (list (point-min) (point-max)
                                                filename
index 4305094611a24476600bcac4199bc2b7f2d5784a..0502e7f94877312517befcbe81eb2ff7f5a8d8de 100644 (file)
@@ -590,7 +590,7 @@ header is fiddled after the From: header is fiddled."
 (defcustom feedmail-force-binary-write t
   "If non-nil, force writing file as binary (this applies to queues and Fcc:).
 On systems where there is a difference between binary and text files,
-feedmail will temporarily manipulate the value of `buffer-file-type'
+feedmail will temporarily manipulate the value of `coding-system-for-write'
 to make the writing as binary.  If nil, writing will be in text mode.
 On systems where there is no distinction or where it is controlled by other
 variables or other means, this option has no effect."
@@ -2016,7 +2016,6 @@ backup file names and the like)."
              (setq buffer-offer-save nil)
              (buffer-disable-undo blobby-buffer)
              (insert-file-contents-literally maybe-file)
-             (setq buffer-file-type t) ; binary
              (goto-char (point-min))
              ;; if at least two line-endings with CRLF, translate the file
              (if (looking-at ".*\r\n.*\r\n")
@@ -2334,7 +2333,10 @@ mapped to mostly alphanumerics for safety."
        (setq filename buffer-file-name)
       (setq filename (feedmail-create-queue-filename queue-directory)))
     ;; make binary file on DOS/Windows 95/Windows NT, etc
-    (let ((buffer-file-type feedmail-force-binary-write))
+    (let ((coding-system-for-write
+          (if feedmail-force-binary-write
+              'no-conversion
+            coding-system-for-write)))
       (write-file filename))
     ;; convenient for moving from draft to q, for example
     (if (and previous-buffer-file-name (or (not is-fqm) (not is-in-this-dir))
@@ -2571,26 +2573,27 @@ mapped to mostly alphanumerics for safety."
                  ;; Re-insert and handle any Fcc fields (and, optionally,
                   ;; any Bcc).
                  (when fcc
-                    (let ((old (default-value 'buffer-file-type)))
+                    (let ((coding-system-for-write
+                          (if (and (memq system-type '(ms-dos windows-nt))
+                                   feedmail-force-binary-write)
+                              'no-conversion
+                            coding-system-for-write)))
                       (unwind-protect
                           (progn
-                            (setq-default buffer-file-type 
-                                          feedmail-force-binary-write)
                             (insert fcc)
                             (unless feedmail-nuke-bcc-in-fcc
                               (if bcc-holder (insert bcc-holder))
                               (if resent-bcc-holder
                                   (insert resent-bcc-holder)))
-                          
+
                             (run-hooks 'feedmail-before-fcc-hook)
-                          
+
                             (when feedmail-nuke-body-in-fcc
                               (goto-char eoh-marker)
                               (if (natnump feedmail-nuke-body-in-fcc)
                                   (forward-line feedmail-nuke-body-in-fcc))
                               (delete-region (point) (point-max)))
-                            (mail-do-fcc eoh-marker))
-                        (setq-default buffer-file-type old)))))
+                            (mail-do-fcc eoh-marker))))))
              ;; User bailed out of one-last-look.
              (if feedmail-queue-runner-is-active
                  (throw 'skip-me-q 'skip-me-q)
index 4f7d80928915b109686ba244b4a81f647c93a3a9..ea318ec3250ea40784551da7471e9e396c21ff51 100644 (file)
@@ -3297,7 +3297,6 @@ system TYPE.")
                     (name (ange-ftp-quote-string (nth 2 parsed)))
                     (temp (ange-ftp-make-tmp-name host))
                     (binary (ange-ftp-binary-file filename))
-                    (buffer-file-type buffer-file-type)
                     (abbr (ange-ftp-abbreviate-filename filename))
                     (coding-system-used last-coding-system-used)
                     size)
@@ -3322,10 +3321,7 @@ system TYPE.")
                           size
                           (nth 1 (ange-ftp-real-insert-file-contents
                                   temp visit beg end replace))
-                          coding-system-used last-coding-system-used
-                          ;; override autodetection of buffer file type
-                          ;; to ensure buffer is saved in DOS format
-                          buffer-file-type binary)
+                          coding-system-used last-coding-system-used)
                        (signal 'ftp-error
                                (list
                                 "Opening input file:"
index 173e1bf53ed0f398b14c200827545d148cdfe1cb..599c515e858567a788d003e1eccbe1c8cb1b7dab 100644 (file)
@@ -1,5 +1,7 @@
 2013-02-09  Eli Zaretskii  <eliz@gnu.org>
 
+       * xdisp.c (decode_mode_spec): Remove handling of %t.
+
        * msdos.c (careadlinkatcwd): Remove.
 
 2013-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
index 02f2ae5d9617205b28ba2542fe5015c32b60100f..7434cdf728ce9627e8c6b08b15728e00e36b4648 100644 (file)
@@ -21525,9 +21525,6 @@ decode_mode_spec (struct window *w, register int c, int field_width,
          return "@";
       }
 
-    case 't':                  /* indicate TEXT or BINARY */
-      return "T";
-
     case 'z':
       /* coding-system (not including end-of-line format) */
     case 'Z':