Make write-file act like copy-file etc.

Change write-file to be consistent with the new behavior
of copy-file, etc.
* etc/NEWS: Mention this.
* lisp/files.el (write-file): Treat the destination as special
only if it is a directory name.
This commit is contained in:
Paul Eggert 2017-09-10 22:19:01 -07:00
parent e22794867d
commit 61946d991b
2 changed files with 5 additions and 4 deletions

View file

@ -1286,7 +1286,8 @@ call like (rename-file C D) that used the old, undocumented behavior
can be written as (rename-file C (file-name-as-directory D)), a
formulation portable to both older and newer versions of Emacs.
Affected functions include add-name-to-file, copy-directory,
copy-file, make-symbolic-link, and rename-file.
copy-file, format-write-file, make-symbolic-link, rename-file, and
write-file.
* Lisp Changes in Emacs 26.1

View file

@ -4212,10 +4212,10 @@ Interactively, confirmation is required unless you supply a prefix argument."
(not current-prefix-arg)))
(or (null filename) (string-equal filename "")
(progn
;; If arg is just a directory,
;; If arg is a directory name,
;; use the default file name, but in that directory.
(if (file-directory-p filename)
(setq filename (concat (file-name-as-directory filename)
(if (directory-name-p filename)
(setq filename (concat filename
(file-name-nondirectory
(or buffer-file-name (buffer-name))))))
(and confirm