]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp.el (tramp-replace-environment-variables): New defun.
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 27 Apr 2008 09:56:45 +0000 (09:56 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 27 Apr 2008 09:56:45 +0000 (09:56 +0000)
(tramp-file-name-handler): Use it.

lisp/net/tramp.el

index aaac6bfda8824368afb2cca2f8c1890fbab2da8f..98eb93aa208a8da4a1cc78adda3d5ae465fbd626 100644 (file)
@@ -4375,6 +4375,16 @@ ARGS are the arguments OPERATION has been called with."
          (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 @@ Falls back to normal file name handler if no tramp file name handler exists."
 ;;  (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