]> git.eshelyaron.com Git - emacs.git/commitdiff
Make write-file act like copy-file etc.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 11 Sep 2017 05:19:01 +0000 (22:19 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 11 Sep 2017 05:31:23 +0000 (22:31 -0700)
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.

etc/NEWS
lisp/files.el

index 136d4582544310615ed84798fa50a4804ec1cada..4da4c37a3c8ee094d935c01cf5acbeaac979de06 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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.
 
 \f
 * Lisp Changes in Emacs 26.1
index 7ab6f769a8f79a7a85542cec9c7e2872f13c13d2..611a4c5a6fca66c11b021b6c32f3646ac501b947 100644 (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