[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
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v |
Date: |
Sun, 27 Apr 2008 09:29:42 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Michael Albinus <albinus> 08/04/27 09:29:42
Index: tramp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp.el,v
retrieving revision 1.191
retrieving revision 1.192
diff -u -b -r1.191 -r1.192
--- tramp.el 24 Apr 2008 19:32:27 -0000 1.191
+++ tramp.el 27 Apr 2008 09:29:41 -0000 1.192
@@ -3557,11 +3557,23 @@
(tramp-run-real-handler 'expand-file-name
(list localname))))))))
+(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)
+
(defun tramp-handle-substitute-in-file-name (filename)
"Like `substitute-in-file-name' for Tramp files.
\"//\" and \"/~\" substitute only in the local filename part.
If the URL Tramp syntax is chosen, \"//\" as method delimeter and \"/~\" at
beginning of local filename are not substituted."
+ ;; First, we must replace environment variables.
+ (setq filename (tramp-replace-environment-variables filename))
(with-parsed-tramp-file-name filename nil
(if (equal tramp-syntax 'url)
;; We need to check localname only. The other parts cannot contain
@@ -4451,7 +4463,9 @@
"Invoke Tramp file name handler.
Falls back to normal file name handler if no Tramp file name handler exists."
(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))
(foreign (tramp-find-foreign-file-name-handler filename)))
(with-parsed-tramp-file-name filename nil
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/02
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Glenn Morris, 2008/04/02
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Stefan Monnier, 2008/04/04
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/07
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/09
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/24
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v,
Michael Albinus <=
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/27
- [Emacs-diffs] Changes to emacs/lisp/net/tramp.el,v, Michael Albinus, 2008/04/28