summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-04-10 04:49:13 +0000
committerRichard M. Stallman <rms@gnu.org>1995-04-10 04:49:13 +0000
commitc2fb84883170b04d3e6649e7c1f6f96ca9c1599d (patch)
tree6925fa6959b662422d3d55ce6841a1eaf4a6befd
parent80ccb2b34a672598d60bd83da3224a70d6b86482 (diff)
downloademacs-c2fb84883170b04d3e6649e7c1f6f96ca9c1599d.tar.gz
(write-file): Default is ask for confirmation only interactively.
-rw-r--r--lisp/files.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/files.el b/lisp/files.el
index 868977416a7..fdac3151fe7 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -1331,12 +1331,14 @@ if you wish to pass an empty string as the argument."
(if buffer-file-name
(set-buffer-modified-p t)))
-(defun write-file (filename)
+(defun write-file (filename &optional confirm)
"Write current buffer into file FILENAME.
Makes buffer visit that file, and marks it not modified.
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."
+old name in that directory.
+If optional second arg CONFIRM is non-nil,
+ask for confirmation for overwriting an existing file."
;; (interactive "FWrite file: ")
(interactive
(list (if buffer-file-name
@@ -1345,7 +1347,8 @@ old name in that directory."
(read-file-name "Write file: "
(cdr (assq 'default-directory
(buffer-local-variables)))
- nil nil (buffer-name)))))
+ nil nil (buffer-name)))
+ t))
(or (null filename) (string-equal filename "")
(progn
;; If arg is just a directory,
@@ -1353,9 +1356,10 @@ old name in that directory."
(if (and (file-directory-p filename) buffer-file-name)
(setq filename (concat (file-name-as-directory filename)
(file-name-nondirectory buffer-file-name))))
- (if (file-exists-p filename)
- (or (y-or-n-p (format "File `%s' exists; overwrite? " filename))
- (error "Canceled")))
+ (and confirm
+ (file-exists-p filename)
+ (or (y-or-n-p (format "File `%s' exists; overwrite? " filename))
+ (error "Canceled")))
(set-visited-file-name filename)))
(set-buffer-modified-p t)
(save-buffer))