summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/ffap.el18
2 files changed, 11 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 97d24ebf4d6..810c76d553d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-08 Michael Albinus <michael.albinus@gmx.de>
+
+ * ffap.el (ffap-replace-file-component): Support Tramp file name
+ syntax, not only ange-ftp's one.
+
2012-10-08 Glenn Morris <rgm@gnu.org>
* cus-start.el (message-log-max): Set :version.
diff --git a/lisp/ffap.el b/lisp/ffap.el
index f3e8d4c194e..4c75609fe01 100644
--- a/lisp/ffap.el
+++ b/lisp/ffap.el
@@ -482,18 +482,12 @@ Returned values:
(defun ffap-replace-file-component (fullname name)
"In remote FULLNAME, replace path with NAME. May return nil."
- ;; Use ange-ftp or efs if loaded, but do not load them otherwise.
- (let (found)
- (mapc
- (function (lambda (sym) (and (fboundp sym) (setq found sym))))
- '(
- efs-replace-path-component
- ange-ftp-replace-path-component
- ange-ftp-replace-name-component
- ))
- (and found
- (fset 'ffap-replace-file-component found)
- (funcall found fullname name))))
+ ;; Use efs if loaded, but do not load it otherwise.
+ (if (fboundp 'efs-replace-path-component)
+ (funcall efs-replace-path-component fullname name)
+ (and (stringp fullname)
+ (stringp name)
+ (concat (file-remote-p fullname) name))))
;; (ffap-replace-file-component "/who@foo.com:/whatever" "/new")
(defun ffap-file-suffix (file)