1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-29 19:48:19 +00:00

(write-file): Handle directory name as arg.

This commit is contained in:
Richard M. Stallman 1993-03-03 05:12:05 +00:00
parent c751ebb6a3
commit 41f48cb1bd

View File

@ -935,7 +935,10 @@ if you wish to pass an empty string as the argument."
(defun write-file (filename)
"Write current buffer into file FILENAME.
Makes buffer visit that file, and marks it not modified."
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."
;; (interactive "FWrite file: ")
(interactive
(list (if buffer-file-name
@ -946,7 +949,13 @@ Makes buffer visit that file, and marks it not modified."
(buffer-local-variables)))
nil nil (buffer-name)))))
(or (null filename) (string-equal filename "")
(set-visited-file-name filename))
(progn
;; If arg is just a directory,
;; use same file name, but 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))))
(set-visited-file-name filename)))
(set-buffer-modified-p t)
(save-buffer))