emacs-diffs
[Top][All Lists]
Advanced

[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, 17 Dec 2006 12:58:06 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       06/12/17 12:58:04

Index: net/tramp.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp.el,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- net/tramp.el        4 Dec 2006 06:51:21 -0000       1.108
+++ net/tramp.el        17 Dec 2006 12:58:04 -0000      1.109
@@ -684,9 +684,32 @@
   :type '(repeat (list string function string)))
 
 (defcustom tramp-default-method
-  (if (and (fboundp 'executable-find)
-          (executable-find "pscp"))
+  (or
+   ;; An external copy method seems to be preferred, because it is
+   ;; much more performant for large files, and it hasn't too serious
+   ;; delays for small files.  But it must be ensured that there
+   ;; aren't permanent password queries.  Either the copy method shall
+   ;; reuse other channels (ControlMaster of OpenSSH does it), a
+   ;; password agent like "ssh-agent" or "Pageant" shall run, or the
+   ;; optional password.el package shall be active for password caching.
+   (and (fboundp 'executable-find)
+       ;; Check whether PuTTY is installed.
+       (executable-find "pscp")
+       (if (or
+            ;; password.el is loaded.
+            (fboundp 'password-read)
+            ;; Pageant is running.
+            (and (fboundp 'w32-window-exists-p)
+                 (funcall (symbol-function 'w32-window-exists-p)
+                          "Pageant" "Pageant")))
+           ;; We know that the password will not be retrieved again.
       "pscp"
+         ;; When "pscp" exists, there is also "plink".
+         "plink"))
+   ;; Under UNIX, ControlMaster is activated.  This does not work
+   ;; under Cygwin, but ssh-agent must be enabled then anyway due to
+   ;; the pseudo-tty problem of Cygwin's OpenSSH implementation.  So
+   ;; it doesn't hurt to use "scp".
     "scp")
   "*Default method to use for transferring files.
 See `tramp-methods' for possibilities.




reply via email to

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