]> git.eshelyaron.com Git - emacs.git/commitdiff
Signal an error in dired when moving to a directory that doesn't exist
authorNick Helm <nick@tenpoint.co.nz>
Thu, 6 Aug 2020 10:11:57 +0000 (12:11 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 6 Aug 2020 10:11:57 +0000 (12:11 +0200)
* lisp/dired-aux.el (dired-do-create-files): Give an error when
apparently moving to a directory name, and that directory doesn't
exist (bug#38707).

lisp/dired-aux.el

index 777df79a6ef3a8177ccbeae3c58fbca6bcb240f1..6587d039b72583904f798dc70c48958b692e9253 100644 (file)
@@ -1978,6 +1978,10 @@ Optional arg HOW-TO determines how to treat the target.
        (apply (car into-dir) operation rfn-list fn-list target (cdr into-dir))
       (if (not (or dired-one-file into-dir))
          (error "Marked %s: target must be a directory: %s" operation target))
+      (if (and (not (file-directory-p (car fn-list)))
+               (not (file-directory-p target))
+               (directory-name-p target))
+          (error "%s: Target directory does not exist: %s" operation target))
       ;; rename-file bombs when moving directories unless we do this:
       (or into-dir (setq target (directory-file-name target)))
       (dired-create-files