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))))))