changeset 54708:dc6cd68555d1

(format-write-file): Add optional argument CONFIRM and make it behave like the analogous argument to `write-file'.
author Luc Teirlinck <teirllm@auburn.edu>
date Mon, 05 Apr 2004 00:52:10 +0000
parents 3ae050b13a3c
children 582d81c73e11
files lisp/format.el
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/format.el	Sun Apr 04 21:45:39 2004 +0000
+++ b/lisp/format.el	Mon Apr 05 00:52:10 2004 +0000
@@ -366,11 +366,15 @@
 		 (funcall to-fn beg end (current-buffer)))))
 	  (setq format (cdr format)))))))
 
-(defun format-write-file (filename format)
+(defun format-write-file (filename format &optional confirm)
   "Write current buffer into file FILENAME using some FORMAT.
-Makes buffer visit that file and sets the format as the default for future
+Make buffer visit that file and set the format as the default for future
 saves.  If the buffer is already visiting a file, you can specify a directory
-name as FILENAME, to write a file of the same old name in that directory."
+name as FILENAME, to write a file of the same old name in that directory.
+
+If optional third arg CONFIRM is non-nil, this function asks for
+confirmation before overwriting an existing file.  Interactively,
+confirmation is required unless you supply a prefix argument."
   (interactive
    ;; Same interactive spec as write-file, plus format question.
    (let* ((file (if buffer-file-name
@@ -382,7 +386,7 @@
 				  nil nil (buffer-name))))
 	  (fmt (format-read (format "Write file `%s' in format: "
 				    (file-name-nondirectory file)))))
-     (list file fmt)))
+     (list file fmt (not current-prefix-arg))))
   (let ((old-formats buffer-file-format)
 	preserve-formats)
     (dolist (fmt old-formats)
@@ -393,7 +397,7 @@
     (dolist (fmt preserve-formats)
       (unless (memq fmt buffer-file-format)
 	(setq buffer-file-format (append buffer-file-format (list fmt))))))
-  (write-file filename))
+  (write-file filename confirm))
 
 (defun format-find-file (filename format)
   "Find the file FILENAME using data format FORMAT.