[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v [EMACS_22_BASE]
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v [EMACS_22_BASE] |
Date: |
Sun, 27 Apr 2008 09:56:46 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Branch: EMACS_22_BASE
Changes by: Michael Albinus <albinus> 08/04/27 09:56:46
Index: tramp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp.el,v
retrieving revision 1.124.2.11
retrieving revision 1.124.2.12
diff -u -b -r1.124.2.11 -r1.124.2.12
--- tramp.el 9 Apr 2008 20:17:27 -0000 1.124.2.11
+++ tramp.el 27 Apr 2008 09:56:45 -0000 1.124.2.12
@@ -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