]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Do
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 9 Mar 2011 11:04:27 +0000 (12:04 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 9 Mar 2011 11:04:27 +0000 (12:04 +0100)
not use `tramp-file-name-port', because this returns also
`tramp-default-port'.

lisp/ChangeLog
lisp/net/tramp-sh.el

index 251547b617d3aab8e113ba9a4589709c5ba3225d..df4834a27c667d1897b945dc15a1130bce875e7e 100644 (file)
@@ -1,3 +1,9 @@
+2011-03-09  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Do
+       not use `tramp-file-name-port', because this returns also
+       `tramp-default-port'.
+
 2011-03-09  Deniz Dogan  <deniz.a.m.dogan@gmail.com>
 
        * net/rcirc.el (rcirc-handler-001): Remove useless
index 63a4c19eccf897cc55ffade2f6a60f1e10f25f7a..ec75ea78fe1c960881d04b1c012af2ee223f18f7 100644 (file)
@@ -2251,11 +2251,15 @@ The method used must be an out-of-band method."
                        'identity)
                      (if t2 (tramp-make-copy-program-file-name v) newname)))
 
-       ;; Check for port number.  Until now, there's no need for handling
-       ;; like method, user, host.
-       (setq host (tramp-file-name-real-host v)
-             port (tramp-file-name-port v)
-             port (or (and port (number-to-string port)) ""))
+       ;; Check for host and port number.  We cannot use
+       ;; `tramp-file-name-port', because this returns also
+       ;; `tramp-default-port', which might clash with settings in
+       ;; "~/.ssh/config".
+       (setq host (tramp-file-name-host v)
+             port "")
+       (when (string-match tramp-host-with-port-regexp host)
+         (setq host (string-to-number (match-string 1 host))
+               port (string-to-number (match-string 2 host))))
 
        ;; Compose copy command.
        (setq spec (format-spec-make
@@ -2270,7 +2274,7 @@ The method used must be an out-of-band method."
              copy-args
              (delete
               ;; " " has either been a replacement of "%k" (when
-              ;; keep-date argument is non-nil), or a replacemtent
+              ;; keep-date argument is non-nil), or a replacement
               ;; for the whole keep-date sublist.
               " "
               (dolist
@@ -2281,7 +2285,7 @@ The method used must be an out-of-band method."
                       (append
                        copy-args
                        (let ((y (mapcar (lambda (z) (format-spec z spec)) x)))
-                         (if (zerop (length (car y))) '(" ") y))))))
+                         (if (member "" y) '(" ") y))))))
              copy-env
              (delq
               nil