Subject: bug#65551: 29.1; Eshell on MS-Windows using plink: 'plink' is not recognized as an internal or external command...

From: Jordan Wilson <[email-masked]>
Date: Sat, 26 Aug 2023 22:28:56 +0100

Hi Jim,

On 2023-08-26 (Sat) at 12:16 (-0700), Jim Porter <[email-masked]> wrote:
> Thanks for reporting this. I can reproduce this issue. Does evaluating the
> following work?
>
>   (setf (alist-get 'tramp-login-program
>                    (alist-get "plink" tramp-methods nil nil #'equal))
>         (list (concat "\"" (executable-find "plink") "\"")))
>
> If so, I think I've identified the bug: in 'eshell-gather-process-output', we
> set the 'process-environment' to Eshell's environment variables. In a remote
> directory, this includes the remote PATH. However, that confuses Tramp, which
> uses that remote PATH to look for the local "plink.exe".

I can confirm that snippet does resolve the problem.

--
Jordan Wilson
    Sent from Gnus v5.13, GNU Emacs 29.1 on WINDOWS-NT