From 210a7c2c92df94a193ae3143a4c39ee65923dd5f Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 17 Dec 2006 12:58:04 +0000 Subject: * net/tramp.el (tramp-default-method): Before setting to "pscp", check whether package password.el is loaded, or Pageant is running. --- lisp/net/tramp.el | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'lisp/net') diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index a45e1a22ad..b2e4ec814f 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -684,10 +684,33 @@ various functions for details." :type '(repeat (list string function string))) (defcustom tramp-default-method - (if (and (fboundp 'executable-find) - (executable-find "pscp")) - "pscp" - "scp") + (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. Also see `tramp-default-method-alist'." -- cgit v1.2.3