Function: tramp-gvfs-handle-make-directory
tramp-gvfs-handle-make-directory is a byte-compiled function defined
in tramp-gvfs.el.gz.
Signature
(tramp-gvfs-handle-make-directory DIR &optional PARENTS)
Documentation
Like make-directory for Tramp files.
Source Code
;; Defined in /usr/src/emacs/lisp/net/tramp-gvfs.el.gz
(defun tramp-gvfs-handle-make-directory (dir &optional parents)
"Like `make-directory' for Tramp files."
(setq dir (directory-file-name (expand-file-name dir)))
(with-parsed-tramp-file-name dir nil
(when (and (null parents) (file-exists-p dir))
(tramp-error v 'file-already-exists dir))
(tramp-flush-directory-properties v localname)
(save-match-data
(let ((ldir (file-name-directory dir)))
;; Make missing directory parts. "gvfs-mkdir -p ..." does not
;; work robust.
(when (and parents (not (file-directory-p ldir)))
(make-directory ldir parents))
;; Just do it.
(or (when-let ((mkdir-succeeded
(tramp-gvfs-send-command
v "gvfs-mkdir" (tramp-gvfs-url-file-name dir))))
(set-file-modes dir (default-file-modes))
mkdir-succeeded)
(and parents (file-directory-p dir))
(tramp-error v 'file-error "Couldn't make directory %s" dir))))))