summaryrefslogtreecommitdiff
path: root/lisp/url/url-tramp.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/url/url-tramp.el')
-rw-r--r--lisp/url/url-tramp.el50
1 files changed, 27 insertions, 23 deletions
diff --git a/lisp/url/url-tramp.el b/lisp/url/url-tramp.el
index 30c1961407e..c414a025a14 100644
--- a/lisp/url/url-tramp.el
+++ b/lisp/url/url-tramp.el
@@ -44,36 +44,40 @@ In case URL is not convertible, nil is returned."
(port
(and obj (natnump (url-portspec obj))
(number-to-string (url-portspec obj)))))
- (when (and obj (member (url-type obj) url-tramp-protocols))
- (when (url-password obj)
- (password-cache-add
- (tramp-make-tramp-file-name
- (make-tramp-file-name
- :method (url-type obj) :user (url-user obj)
- :host (url-host obj)))
- (url-password obj)))
- (tramp-make-tramp-file-name
- (make-tramp-file-name
- :method (url-type obj) :user (url-user obj)
- :host (url-host obj) :port port :localname (url-filename obj))))))
+ (if (and obj (member (url-type obj) url-tramp-protocols))
+ (progn
+ (when (url-password obj)
+ (password-cache-add
+ (tramp-make-tramp-file-name
+ (make-tramp-file-name
+ :method (url-type obj) :user (url-user obj)
+ :host (url-host obj)))
+ (url-password obj)))
+ (tramp-make-tramp-file-name
+ (make-tramp-file-name
+ :method (url-type obj) :user (url-user obj)
+ :host (url-host obj) :port port :localname (url-filename obj))))
+ url)))
(defun url-tramp-convert-tramp-to-url (file)
"Convert FILE, a Tramp file name, to a URL.
In case FILE is not convertible, nil is returned."
- (let* ((obj (ignore-errors (tramp-dissect-file-name file)))
+ (let* ((obj (and (tramp-tramp-file-p file)
+ (ignore-errors (tramp-dissect-file-name file))))
(port
(and obj (stringp (tramp-file-name-port obj))
(string-to-number (tramp-file-name-port obj)))))
- (when (and obj (member (tramp-file-name-method obj) url-tramp-protocols))
- (url-recreate-url
- (url-parse-make-urlobj
- (tramp-file-name-method obj)
- (tramp-file-name-user obj)
- nil ; password.
- (tramp-file-name-host obj)
- port
- (tramp-file-name-localname obj)
- nil nil t))))) ; target attributes fullness.
+ (if (and obj (member (tramp-file-name-method obj) url-tramp-protocols))
+ (url-recreate-url
+ (url-parse-make-urlobj
+ (tramp-file-name-method obj)
+ (tramp-file-name-user obj)
+ nil ; password.
+ (tramp-file-name-host obj)
+ port
+ (tramp-file-name-localname obj)
+ nil nil t)) ; target attributes fullness.
+ file)))
;;;###autoload
(defun url-tramp-file-handler (operation &rest args)