Function: tramp-skeleton-copy-directory

tramp-skeleton-copy-directory is a macro defined in tramp.el.gz.

Signature

(tramp-skeleton-copy-directory DIRECTORY NEWNAME &optional KEEP-DATE PARENTS COPY-CONTENTS &rest BODY)

Documentation

Skeleton for tramp-*-handle-copy-directory.

BODY is the backend specific code.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp.el.gz
;;; Skeleton macros for file name handler functions.

(defmacro tramp-skeleton-copy-directory
  (directory newname &optional _keep-date _parents _copy-contents &rest body)
  "Skeleton for `tramp-*-handle-copy-directory'.
BODY is the backend specific code."
  (declare (indent 5) (debug t))
  ;; `copy-directory' creates NEWNAME before running this check.  So
  ;; we do it ourselves.  Therefore, we cannot also run
  ;; `tramp-barf-if-file-missing'.
  `(progn
     (unless (file-exists-p ,directory)
       (tramp-error
	(tramp-dissect-file-name ,directory) 'file-missing ,directory))
     ,@body

     ;; NEWNAME has wrong cached values.
     (when (tramp-tramp-file-p ,newname)
       (with-parsed-tramp-file-name (expand-file-name ,newname) nil
	 (tramp-flush-file-properties v localname)))))