Function: tramp-skeleton-kubernetes-vector

tramp-skeleton-kubernetes-vector is a macro defined in tramp-container.el.gz.

Signature

(tramp-skeleton-kubernetes-vector VEC &rest BODY)

Documentation

Skeleton for tramp-kubernetes--current-context* with multi-hop support.

BODY is the backend specific code.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp-container.el.gz
;; We must change `vec' and `default-directory' to the previous hop,
;; in order to run `process-file' in a proper environment.
(defmacro tramp-skeleton-kubernetes-vector (vec &rest body)
  "Skeleton for `tramp-kubernetes--current-context*' with multi-hop support.
BODY is the backend specific code."
  (declare (indent 1) (debug t))
  `(let* ((vec
	   (cond
	    ((null ,vec) tramp-null-hop)
	    ((equal (tramp-file-name-method ,vec) tramp-kubernetes-method)
	     ;; Sanity check.  We don't support `user' or `port' in
	     ;; Kubernetes file names.
	     (when (or (tramp-file-name-user-domain ,vec)
		       (tramp-file-name-port ,vec))
	       (tramp-user-error ,vec "Wrong kubernetes file name syntax"))
	     (if (tramp-file-name-hop ,vec)
		 (tramp-dissect-hop-name (tramp-file-name-hop ,vec))
	       tramp-null-hop))
	    (t ,vec)))
	  (default-directory
	   (if (equal vec tramp-null-hop)
	       tramp-compat-temporary-file-directory
	     (tramp-make-tramp-file-name vec "/"))))
     ,@body))