* doc/misc/tramp.texi (Inline methods, External methods):
PuTTY must be at least version 0.82.
* lisp/net/tramp-cache.el (with-tramp-saved-connection-property)
(with-tramp-saved-connection-properties): Add traces.
* lisp/net/tramp-sh.el (tramp-methods) <plink, plinkx, pscp, psftp>:
Adapt `tramp-login-args' and `tramp-copy-args' arguments. (Bug#75746)
(cherry picked from commit
9ded6fd73e929977a38d4c644aa4e9fe66e76e90)
@cindex @option{plink} method
@item @option{plink}
-@option{plink} method is for MS Windows users with the PuTTY
-implementation of SSH@. It uses @samp{plink -ssh} to log in to the
-remote host. It supports changing the remote login shell @command{/bin/sh}.
+@option{plink} method is for MS Windows users with the
+PuTTY@footnote{It requires at least PuTTY 0.82.} implementation of
+SSH@. It uses @samp{plink -ssh} to log in to the remote host. It
+supports changing the remote login shell @command{/bin/sh}.
Check the @samp{Share SSH connections if possible} control for that
session.
These methods are similar to @option{scp} or @option{sftp}, but they
use the @command{plink} command to connect to the remote host, and
they use @command{pscp} or @command{psftp} for transferring the files.
-These programs are part of PuTTY, an SSH implementation for MS Windows.
+These programs are part of PuTTY@footnote{It requires at least PuTTY
+0.82.}, an SSH implementation for MS Windows.
They support changing the remote login shell @command{/bin/sh}.
(hash (tramp-get-hash-table key))
(cached (and (hash-table-p hash)
(gethash ,property hash tramp-cache-undefined))))
+ (tramp-message key 7 "Saved %s %s" property cached)
(unwind-protect (progn ,@body)
;; Reset PROPERTY. Recompute hash, it could have been flushed.
+ (tramp-message key 7 "Restored %s %s" property cached)
(setq hash (tramp-get-hash-table key))
(if (not (eq cached tramp-cache-undefined))
(puthash ,property cached hash)
(lambda (property)
(cons property (gethash property hash tramp-cache-undefined)))
,properties)))
+ (tramp-message key 7 "Saved %s" values)
(unwind-protect (progn ,@body)
;; Reset PROPERTIES. Recompute hash, it could have been flushed.
+ (tramp-message key 7 "Restored %s" values)
(setq hash (tramp-get-hash-table key))
(dolist (value values)
(if (not (eq (cdr value) tramp-cache-undefined))
`("plink"
(tramp-login-program "plink")
(tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%c")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
("-t") ("%h") ("\"")
(,(format
"env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'"
`("plinkx"
(tramp-login-program "plink")
(tramp-login-args (("-load") ("%h") ("%c") ("-t") ("\"")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
(,(format
"env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'"
tramp-terminal-type
`("pscp"
(tramp-login-program "plink")
(tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%c")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
("-t") ("%h") ("\"")
(,(format
"env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'"
(tramp-remote-shell-args ("-c"))
(tramp-copy-program "pscp")
(tramp-copy-args (("-l" "%u") ("-P" "%p") ("-scp")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
("-p" "%k") ("-q") ("-r")))
(tramp-copy-keep-date t)
(tramp-copy-recursive t)))
`("psftp"
(tramp-login-program "plink")
(tramp-login-args (("-l" "%u") ("-P" "%p") ("-ssh") ("%c")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
("-t") ("%h") ("\"")
(,(format
"env 'TERM=%s' 'PROMPT_COMMAND=' 'PS1=%s'"
(tramp-remote-shell-args ("-c"))
(tramp-copy-program "pscp")
(tramp-copy-args (("-l" "%u") ("-P" "%p") ("-sftp")
+ ;; Since PuTTY 0.82.
+ ("-legacy-stdio-prompts")
("-p" "%k")))
(tramp-copy-keep-date t)))