Subject: Re: bug#33791: 26.1; Eshell on Windows connecting to GNU/Linux machine using TRAMP and plink: env: ‘c:/home/jordan/test.sh’: No such file or directory

From: Eli Zaretskii <[email-masked]>
Date: Fri, 28 Dec 2018 20:48:44 +0200

> From: Jordan Wilson <[email-masked]>
> Cc: Michael Albinus <[email-masked]>,  [email-masked]
> Date: Fri, 28 Dec 2018 17:23:35 +0000
> 
> On 2018-12-28 (Fri) at 10:15 (+0200), Eli Zaretskii <[email-masked]> wrote:
> > Jordan, can you test this, please?  If this works for you, we will
> > install this on the emacs-26 branch as well.
> 
> The patch you provided fixes the "cd" problem for me.

The one I porovided or the variation proposed by Michael?  Which one
did you try?

> The "env: ‘c:/home/jordan/test/test.sh’: No such file or directory"
> problem is still there though.
> 
> Here's what I've found about that bug: the program path that
> `eshell-gather-process-output' passes to `start-file-process' is run
> through `expand-file-name' to remove potential relative paths. Because
> the path begins with `/', "c:" is prepended on Windows (from looking at
> the C source, I gather this is the function's expected behaviour).
> 
> As a test, if I wrap the "(expand-file-name command)" in "(substring
> ... 2)", which in this instance removes the prepended "c:/", doing
> "./test.sh" in eshell works as expected.
> 
> Any ideas?

Can you provide a reproducing recipe starting from "emacs -Q"?