aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2006-07-21 09:20:02 +0000
committerEli Zaretskii2006-07-21 09:20:02 +0000
commit9e361827863fe2584e784fb9a36549650d2dcbfd (patch)
treeca5432a0019742fbe415da3213cc6d52d7eae8d0
parentcc539208b91943c9a2e614af25169b500fa9b156 (diff)
downloademacs-9e361827863fe2584e784fb9a36549650d2dcbfd.tar.gz
emacs-9e361827863fe2584e784fb9a36549650d2dcbfd.zip
(find-buffer-file-type-coding-system): Support calls where `(nth 1 command)'
is a cons cell. Doc fix.
-rw-r--r--lisp/dos-w32.el20
1 files changed, 15 insertions, 5 deletions
diff --git a/lisp/dos-w32.el b/lisp/dos-w32.el
index 2d730c8af0f..5fb6d5a0f6b 100644
--- a/lisp/dos-w32.el
+++ b/lisp/dos-w32.el
@@ -88,10 +88,13 @@ against the file name, and TYPE is nil for text, t for binary.")
88(setq-default buffer-file-coding-system 'undecided-dos) 88(setq-default buffer-file-coding-system 'undecided-dos)
89 89
90(defun find-buffer-file-type-coding-system (command) 90(defun find-buffer-file-type-coding-system (command)
91 "Choose a coding system for a file operation. 91 "Choose a coding system for a file operation in COMMAND.
92If COMMAND is `insert-file-contents', the coding system is chosen based 92COMMAND is a list that specifies the operation, and I/O primitive as its
93upon the filename, the contents of `untranslated-filesystem-list' and 93CAR, and the arguments that might be given to that operation as its CDR.
94`file-name-buffer-file-type-alist', and whether the file exists: 94If operation is `insert-file-contents', the coding system is chosen based
95upon the filename (the CAR of the arguments beyond the operation), the contents
96of `untranslated-filesystem-list' and `file-name-buffer-file-type-alist',
97and whether the file exists:
95 98
96 If it matches in `untranslated-filesystem-list': 99 If it matches in `untranslated-filesystem-list':
97 If the file exists: `undecided' 100 If the file exists: `undecided'
@@ -103,7 +106,7 @@ upon the filename, the contents of `untranslated-filesystem-list' and
103 If the file exists: `undecided' 106 If the file exists: `undecided'
104 If the file does not exist: default-buffer-file-coding-system 107 If the file does not exist: default-buffer-file-coding-system
105 108
106If COMMAND is `write-region', the coding system is chosen based upon 109If operation is `write-region', the coding system is chosen based upon
107the value of `buffer-file-coding-system' and `buffer-file-type'. If 110the value of `buffer-file-coding-system' and `buffer-file-type'. If
108`buffer-file-coding-system' is non-nil, its value is used. If it is 111`buffer-file-coding-system' is non-nil, its value is used. If it is
109nil and `buffer-file-type' is t, the coding system is `no-conversion'. 112nil and `buffer-file-type' is t, the coding system is `no-conversion'.
@@ -126,6 +129,13 @@ set to the appropriate coding system, and the value of
126 (undecided nil) (undecided-unix nil)) 129 (undecided nil) (undecided-unix nil))
127 (cond ((eq op 'insert-file-contents) 130 (cond ((eq op 'insert-file-contents)
128 (setq target (nth 1 command)) 131 (setq target (nth 1 command))
132 ;; If TARGET is a cons cell, it has the form (FILENAME . BUFFER),
133 ;; where BUFFER is a buffer into which the file was already read,
134 ;; but its contents were not yet decoded. (This form of the
135 ;; arguments is used, e.g., in arc-mode.el.) This function
136 ;; doesn't care about the contents, it only looks at the file's
137 ;; name, which is the CAR of the cons cell.
138 (if (consp target) (setq target (car target)))
129 ;; First check for a file name that indicates 139 ;; First check for a file name that indicates
130 ;; it is truly binary. 140 ;; it is truly binary.
131 (setq binary (find-buffer-file-type target)) 141 (setq binary (find-buffer-file-type target))