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: Jordan Wilson <[email-masked]>
Date: Fri, 28 Dec 2018 17:23:35 +0000

Hi Eli,
sorry, I've not been online because of Christmas.

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 "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?

Thanks

-- 
Jordan Wilson
    Sent from Gnus v5.13, GNU Emacs 26.1