diff options
author | Luc Teirlinck <teirllm@auburn.edu> | 2004-04-05 00:52:10 +0000 |
---|---|---|
committer | Luc Teirlinck <teirllm@auburn.edu> | 2004-04-05 00:52:10 +0000 |
commit | 8c5fe07fa2dbf6c520728fe39a83f3a5516d786b (patch) | |
tree | f54969f09b57210cb506a638e7f4604f0a7b9f1a /lisp | |
parent | 361535c2a95c76e96ef861a48a4d7a2bd000e6b7 (diff) | |
download | emacs-8c5fe07fa2dbf6c520728fe39a83f3a5516d786b.tar.gz |
(format-write-file): Add optional argument CONFIRM and make it behave
like the analogous argument to `write-file'.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/format.el | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/format.el b/lisp/format.el index 09d3e5fa715..525588eeca4 100644 --- a/lisp/format.el +++ b/lisp/format.el @@ -366,11 +366,15 @@ one of the formats defined in `format-alist', or a list of such symbols." (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 @@ name as FILENAME, to write a file of the same old name in that directory." 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 @@ name as FILENAME, to write a file of the same old name in that directory." (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. |