Function: tramp-completion-handle-expand-file-name

tramp-completion-handle-expand-file-name is a byte-compiled function defined in tramp.el.gz.

Signature

(tramp-completion-handle-expand-file-name FILENAME &optional DIRECTORY)

Documentation

Like expand-file-name for partial Tramp files.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp.el.gz
(defun tramp-completion-handle-expand-file-name (filename &optional directory)
  "Like `expand-file-name' for partial Tramp files."
  ;; We need special handling only when a method is needed.  Then we
  ;; check, whether DIRECTORY is "/method:" or "/[method/".
  (let ((dir (or directory default-directory "/")))
    (cond
     ((file-name-absolute-p filename) filename)
     ((and (eq tramp-syntax 'simplified)
           (string-match-p
	    (tramp-compat-rx (regexp tramp-postfix-host-regexp) eos) dir))
      (concat dir filename))
     ((string-match-p
       (tramp-compat-rx
	bos (regexp tramp-prefix-regexp)
	(* (regexp tramp-remote-file-name-spec-regexp)
	   (regexp tramp-postfix-hop-regexp))
	(? (regexp tramp-method-regexp) (regexp tramp-postfix-method-regexp)
	   (? (regexp tramp-user-regexp) (regexp tramp-postfix-user-regexp)))
	eos)
       dir)
      (concat dir filename))
     (t (tramp-run-real-handler #'expand-file-name (list filename directory))))))