Mercurial > emacs
comparison lisp/files.el @ 11340:5c97fabe0ab9
(write-file): Default is ask for confirmation only interactively.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 10 Apr 1995 04:49:13 +0000 |
parents | 8781025a1418 |
children | eba8070796a4 |
comparison
equal
deleted
inserted
replaced
11339:ca0aead90c7b | 11340:5c97fabe0ab9 |
---|---|
1329 (file-exists-p oauto) | 1329 (file-exists-p oauto) |
1330 (rename-file oauto buffer-auto-save-file-name t))) | 1330 (rename-file oauto buffer-auto-save-file-name t))) |
1331 (if buffer-file-name | 1331 (if buffer-file-name |
1332 (set-buffer-modified-p t))) | 1332 (set-buffer-modified-p t))) |
1333 | 1333 |
1334 (defun write-file (filename) | 1334 (defun write-file (filename &optional confirm) |
1335 "Write current buffer into file FILENAME. | 1335 "Write current buffer into file FILENAME. |
1336 Makes buffer visit that file, and marks it not modified. | 1336 Makes buffer visit that file, and marks it not modified. |
1337 If the buffer is already visiting a file, you can specify | 1337 If the buffer is already visiting a file, you can specify |
1338 a directory name as FILENAME, to write a file of the same | 1338 a directory name as FILENAME, to write a file of the same |
1339 old name in that directory." | 1339 old name in that directory. |
1340 If optional second arg CONFIRM is non-nil, | |
1341 ask for confirmation for overwriting an existing file." | |
1340 ;; (interactive "FWrite file: ") | 1342 ;; (interactive "FWrite file: ") |
1341 (interactive | 1343 (interactive |
1342 (list (if buffer-file-name | 1344 (list (if buffer-file-name |
1343 (read-file-name "Write file: " | 1345 (read-file-name "Write file: " |
1344 nil nil nil nil) | 1346 nil nil nil nil) |
1345 (read-file-name "Write file: " | 1347 (read-file-name "Write file: " |
1346 (cdr (assq 'default-directory | 1348 (cdr (assq 'default-directory |
1347 (buffer-local-variables))) | 1349 (buffer-local-variables))) |
1348 nil nil (buffer-name))))) | 1350 nil nil (buffer-name))) |
1351 t)) | |
1349 (or (null filename) (string-equal filename "") | 1352 (or (null filename) (string-equal filename "") |
1350 (progn | 1353 (progn |
1351 ;; If arg is just a directory, | 1354 ;; If arg is just a directory, |
1352 ;; use same file name, but in that directory. | 1355 ;; use same file name, but in that directory. |
1353 (if (and (file-directory-p filename) buffer-file-name) | 1356 (if (and (file-directory-p filename) buffer-file-name) |
1354 (setq filename (concat (file-name-as-directory filename) | 1357 (setq filename (concat (file-name-as-directory filename) |
1355 (file-name-nondirectory buffer-file-name)))) | 1358 (file-name-nondirectory buffer-file-name)))) |
1356 (if (file-exists-p filename) | 1359 (and confirm |
1357 (or (y-or-n-p (format "File `%s' exists; overwrite? " filename)) | 1360 (file-exists-p filename) |
1358 (error "Canceled"))) | 1361 (or (y-or-n-p (format "File `%s' exists; overwrite? " filename)) |
1362 (error "Canceled"))) | |
1359 (set-visited-file-name filename))) | 1363 (set-visited-file-name filename))) |
1360 (set-buffer-modified-p t) | 1364 (set-buffer-modified-p t) |
1361 (save-buffer)) | 1365 (save-buffer)) |
1362 | 1366 |
1363 (defun backup-buffer () | 1367 (defun backup-buffer () |