Function: shadow-parse-name
shadow-parse-name is a byte-compiled function defined in
shadowfile.el.gz.
Signature
(shadow-parse-name NAME)
Documentation
Parse any NAME into a tramp-file-name structure.
Argument can be a simple name, remote file name, or already a
tramp-file-name structure.
Source Code
;; Defined in /usr/src/emacs/lisp/shadowfile.el.gz
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Filename manipulation
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun shadow-parse-name (name)
"Parse any NAME into a `tramp-file-name' structure.
Argument can be a simple name, remote file name, or already a
`tramp-file-name' structure."
(cond
((null name) nil)
((tramp-file-name-p name) name)
((file-remote-p name) (tramp-dissect-file-name name))
((shadow-local-file name)
(make-tramp-file-name
:host (shadow-site-name shadow-system-name)
:localname (shadow-local-file name)))
;; Cluster name.
((string-match "^/\\([^:/]+\\):\\([^:]*\\)$" name)
(let ((name (match-string 1 name))
(file (match-string 2 name)))
(when (shadow-get-cluster name)
(make-tramp-file-name :host name :localname file))))))