# HG changeset patch # User Michael Albinus # Date 1209290205 0 # Node ID a8f8389d569526ae28e2b8180393c12746b3e66b # Parent 673b1b49aa16723faca5cdeba7c70a49fb9840d1 * net/tramp.el (tramp-replace-environment-variables): New defun. (tramp-file-name-handler): Use it. diff -r 673b1b49aa16 -r a8f8389d5695 lisp/net/tramp.el --- a/lisp/net/tramp.el Sun Apr 27 09:47:14 2008 +0000 +++ b/lisp/net/tramp.el Sun Apr 27 09:56:45 2008 +0000 @@ -4375,6 +4375,16 @@ (setq res (cdr elt)))) res))) +(defun tramp-replace-environment-variables (filename) + "Replace environment variables in FILENAME. +Return the string with the replaced variables." + (when (string-match "$\\w+" filename) + (setq filename + (replace-match + (substitute-in-file-name (match-string 0 filename)) + t nil filename))) + filename) + ;; Main function. ;;;###autoload (defun tramp-file-name-handler (operation &rest args) @@ -4383,7 +4393,9 @@ ;; (setq edebug-trace t) ;; (edebug-trace "%s" (with-output-to-string (backtrace))) (save-match-data - (let* ((filename (apply 'tramp-file-name-for-operation operation args)) + (let* ((filename + (tramp-replace-environment-variables + (apply 'tramp-file-name-for-operation operation args))) (completion (tramp-completion-mode-p filename)) (foreign (tramp-find-foreign-file-name-handler filename))) (with-parsed-tramp-file-name filename nil