emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111709: Remove all references to buf


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111709: Remove all references to buffer-file-type and related features.
Date: Sat, 09 Feb 2013 14:52:01 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111709
fixes bug: http://debbugs.gnu.org/12989
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2013-02-09 14:52:01 +0200
message:
  Remove all references to buffer-file-type and related features.
  
   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.
modified:
  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
=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2013-01-19 22:48:47 +0000
+++ b/doc/emacs/ChangeLog       2013-02-09 12:52:01 +0000
@@ -1,3 +1,8 @@
+2013-02-09  Eli Zaretskii  <address@hidden>
+
+       * msdog.texi (Text and Binary): Delete the description of
+       file-name-buffer-file-type-alist.
+
 2013-01-19  Paul Eggert  <address@hidden>
 
        * trouble.texi (Crashing): Suggest -p for newer addr2line.  (Bug#13445)

=== modified file 'doc/emacs/msdog.texi'
--- a/doc/emacs/msdog.texi      2013-01-01 09:11:05 +0000
+++ b/doc/emacs/msdog.texi      2013-02-09 12:52:01 +0000
@@ -218,29 +218,6 @@
 Emacs to create new files with the Unix-style convention of using
 newline at the end of a line.  @xref{Coding Systems}.
 
address@hidden file-name-buffer-file-type-alist
address@hidden 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
address@hidden 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
address@hidden(@var{pattern} . t)}, Emacs reads and writes that file using the
address@hidden coding system (@pxref{Coding Systems}) which turns
-off @emph{all} coding-system conversions, not only the EOL conversion.
address@hidden 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

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2013-02-08 17:23:24 +0000
+++ b/doc/lispref/ChangeLog     2013-02-09 12:52:01 +0000
@@ -1,3 +1,9 @@
+2013-02-09  Eli Zaretskii  <address@hidden>
+
+       * modes.texi (%-Constructs): Remove the description of %t.
+
+       * nonascii.texi (MS-DOS File Types): Delete node.
+
 2013-02-08  Glenn Morris  <address@hidden>
 
        * keymaps.texi (Active Keymaps, Searching Keymaps):

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2013-01-03 02:37:57 +0000
+++ b/doc/lispref/elisp.texi    2013-02-09 12:52:01 +0000
@@ -1209,8 +1209,6 @@
                                     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
 

=== modified file 'doc/lispref/modes.texi'
--- a/doc/lispref/modes.texi    2013-01-01 09:11:05 +0000
+++ b/doc/lispref/modes.texi    2013-02-09 12:52:01 +0000
@@ -2150,11 +2150,6 @@
 The status of the subprocess belonging to the current buffer, obtained with
 @code{process-status}.  @xref{Process Information}.
 
address@hidden %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.
 

=== modified file 'doc/lispref/nonascii.texi'
--- a/doc/lispref/nonascii.texi 2013-01-01 09:11:05 +0000
+++ b/doc/lispref/nonascii.texi 2013-02-09 12:52:01 +0000
@@ -855,8 +855,6 @@
                                     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 @@
 @code{nil}, that means the currently selected frame's terminal.
 @end deffn
 
address@hidden MS-DOS File Types
address@hidden MS-DOS File Types
address@hidden DOS file types
address@hidden MS-DOS file types
address@hidden Windows file types
address@hidden file types on MS-DOS and Windows
address@hidden text files and binary files
address@hidden 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.
-
address@hidden 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
address@hidden if the file was visited without any actual conversion.
-
-Its default value is used to decide how to handle files for which
address@hidden says nothing about the type:
-If the default value is address@hidden, 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.
address@hidden defvar
-
address@hidden 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
address@hidden is matched against the file name, and @var{type} may be
address@hidden 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,
address@hidden 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.
address@hidden defopt
-
 @node Input Methods
 @section Input Methods
 @cindex input methods

=== modified file 'etc/NEWS'
--- a/etc/NEWS  2013-02-05 17:01:25 +0000
+++ b/etc/NEWS  2013-02-09 12:52:01 +0000
@@ -280,6 +280,12 @@
 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.
+
 
 * Installation Changes in Emacs 24.3
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-02-09 09:58:48 +0000
+++ b/lisp/ChangeLog    2013-02-09 12:52:01 +0000
@@ -1,3 +1,34 @@
+2013-02-09  Eli Zaretskii  <address@hidden>
+
+       * 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  <address@hidden>
 
        * doc-view.el: Use (and prefer) soffice as default ODF->PDF

=== modified file 'lisp/arc-mode.el'
--- a/lisp/arc-mode.el  2013-01-01 09:11:05 +0000
+++ b/lisp/arc-mode.el  2013-02-09 12:52:01 +0000
@@ -975,11 +975,6 @@
                    (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).

=== modified file 'lisp/dos-w32.el'
--- a/lisp/dos-w32.el   2013-01-01 09:11:05 +0000
+++ b/lisp/dos-w32.el   2013-02-09 12:52:01 +0000
@@ -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)
@@ -54,36 +54,18 @@
     ("\\.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 @@
   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 @@
 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 @@
                   (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 @@
                 ;; 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 @@
             ;; 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 ()

=== modified file 'lisp/emacs-lisp/bytecomp.el'
--- a/lisp/emacs-lisp/bytecomp.el       2013-01-02 16:13:04 +0000
+++ b/lisp/emacs-lisp/bytecomp.el       2013-02-09 12:52:01 +0000
@@ -1795,8 +1795,6 @@
                     (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

=== modified file 'lisp/erc/ChangeLog'
--- a/lisp/erc/ChangeLog        2013-01-11 10:40:54 +0000
+++ b/lisp/erc/ChangeLog        2013-02-09 12:52:01 +0000
@@ -1,3 +1,7 @@
+2013-02-09  Eli Zaretskii  <address@hidden>
+
+       * erc-dcc.el (erc-dcc-get-file): Don't reference buffer-file-type.
+
 2013-01-11  Dmitry Antipov  <address@hidden>
 
        * erc-dcc.el (erc-dcc-send-file): Use point-min-marker.

=== modified file 'lisp/erc/erc-dcc.el'
--- a/lisp/erc/erc-dcc.el       2013-01-11 10:40:54 +0000
+++ b/lisp/erc/erc-dcc.el       2013-02-09 12:52:01 +0000
@@ -942,7 +942,6 @@
         (set-buffer-multibyte nil))
 
       (setq mode-line-process '(":%s")
-            buffer-file-type t
             buffer-read-only t)
       (setq erc-dcc-file-name file)
 

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2013-01-31 06:35:45 +0000
+++ b/lisp/files.el     2013-02-09 12:52:01 +0000
@@ -1983,8 +1983,6 @@
        (after-find-file error (not nowarn)))
       (current-buffer))))
 
-(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 @@
        (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!

=== modified file 'lisp/jka-compr.el'
--- a/lisp/jka-compr.el 2013-01-01 09:11:05 +0000
+++ b/lisp/jka-compr.el 2013-02-09 12:52:01 +0000
@@ -332,8 +332,6 @@
 
          (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

=== modified file 'lisp/mail/feedmail.el'
--- a/lisp/mail/feedmail.el     2012-09-17 05:41:04 +0000
+++ b/lisp/mail/feedmail.el     2013-02-09 12:52:01 +0000
@@ -590,7 +590,7 @@
 (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 @@
              (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 @@
        (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 @@
                  ;; 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)

=== modified file 'lisp/net/ange-ftp.el'
--- a/lisp/net/ange-ftp.el      2013-01-29 08:12:11 +0000
+++ b/lisp/net/ange-ftp.el      2013-02-09 12:52:01 +0000
@@ -3297,7 +3297,6 @@
                     (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 @@
                           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:"

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-02-09 09:02:17 +0000
+++ b/src/ChangeLog     2013-02-09 12:52:01 +0000
@@ -1,5 +1,7 @@
 2013-02-09  Eli Zaretskii  <address@hidden>
 
+       * xdisp.c (decode_mode_spec): Remove handling of %t.
+
        * msdos.c (careadlinkatcwd): Remove.
 
 2013-02-08  Stefan Monnier  <address@hidden>

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2013-02-08 17:23:24 +0000
+++ b/src/xdisp.c       2013-02-09 12:52:01 +0000
@@ -21525,9 +21525,6 @@
          return "@";
       }
 
-    case 't':                  /* indicate TEXT or BINARY */
-      return "T";
-
     case 'z':
       /* coding-system (not including end-of-line format) */
     case 'Z':


reply via email to

[Prev in Thread] Current Thread [Next in Thread]