On 8/26/2023 2:28 PM, Jordan Wilson wrote: > Hi Jim, > > On 2023-08-26 (Sat) at 12:16 (-0700), Jim Porter 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. Thanks for checking. That's probably the best way to get things working for now, but I'll make sure to get a fix for this in for Emacs 29.2. In the meantime, here's a regression test that we should be able to use to verify the fix once we have it.