emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117659: * net/tramp-sh.el (tramp-do-copy-or-rename-


From: Michael Albinus
Subject: [Emacs-diffs] trunk r117659: * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Date: Thu, 07 Aug 2014 09:14:02 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117659
revision-id: address@hidden
parent: address@hidden
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Thu 2014-08-07 11:13:54 +0200
message:
  * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
  Use cached "remote-copy-args" value, if available.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/net/tramp-sh.el           trampsh.el-20100913133439-a1faifh29eqoi4nh-1
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-08-07 03:25:09 +0000
+++ b/lisp/ChangeLog    2014-08-07 09:13:54 +0000
@@ -1,3 +1,8 @@
+2014-08-07  Michael Albinus  <address@hidden>
+
+       * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
+       Use cached "remote-copy-args" value, if available.  (Bug#18199)
+
 2014-08-07  Leo Liu  <address@hidden>
 
        * help.el (temp-buffer-setup-hook,temp-buffer-show-hook): Revert

=== modified file 'lisp/net/tramp-sh.el'
--- a/lisp/net/tramp-sh.el      2014-07-28 19:08:43 +0000
+++ b/lisp/net/tramp-sh.el      2014-08-07 09:13:54 +0000
@@ -218,7 +218,9 @@
     ;; We use "-v" for better error tracking.
     (tramp-copy-args            (("-w" "1") ("-v") ("%h") ("%r")))
     (tramp-remote-copy-program  "nc")
-    ;; We use "-p" as required for busyboxes.
+    ;; We use "-p" as required for newer busyboxes.  For older
+    ;; busybox/nc versions, the value must be (("-l") ("%r")).  This
+    ;; can be achieved by tweaking `tramp-connection-properties'.
     (tramp-remote-copy-args     (("-l") ("-p" "%r")))
     (tramp-default-port         23)))
 ;;;###tramp-autoload
@@ -2334,6 +2336,7 @@
                            method 'tramp-copy-program)
              copy-keep-date (tramp-get-method-parameter
                              method 'tramp-copy-keep-date)
+
              copy-args
              (delete
               ;; " " has either been a replacement of "%k" (when
@@ -2349,6 +2352,7 @@
                        copy-args
                        (let ((y (mapcar (lambda (z) (format-spec z spec)) x)))
                          (if (member "" y) '(" ") y))))))
+
              copy-env
              (delq
               nil
@@ -2357,23 +2361,20 @@
                  (setq x (mapcar (lambda (y) (format-spec y spec)) x))
                  (unless (member "" x) (mapconcat 'identity x " ")))
                (tramp-get-method-parameter method 'tramp-copy-env)))
-             remote-copy-program (tramp-get-method-parameter
-                                  method 'tramp-remote-copy-program)
-             remote-copy-args
-             (delete
-              ;; " " has either been a replacement of "%k" (when
-              ;; keep-date argument is non-nil), or a replacement
-              ;; for the whole keep-date sublist.
-              " "
-              (dolist
-                  (x
-                   (tramp-get-method-parameter method 'tramp-remote-copy-args)
-                   remote-copy-args)
-                (setq remote-copy-args
-                      (append
-                       remote-copy-args
-                       (let ((y (mapcar (lambda (z) (format-spec z spec)) x)))
-                         (if (member "" y) '(" ") y)))))))
+
+             remote-copy-program
+             (tramp-get-method-parameter method 'tramp-remote-copy-program))
+
+       (dolist
+           (x
+            (or
+             (tramp-get-connection-property v "remote-copy-args" nil)
+             (tramp-get-method-parameter method 'tramp-remote-copy-args)))
+         (setq remote-copy-args
+               (append
+                remote-copy-args
+                (let ((y (mapcar (lambda (z) (format-spec z spec)) x)))
+                  (if (member "" y) '(" ") y)))))
 
        ;; Check for local copy program.
        (unless (executable-find copy-program)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]