Leo <[email protected]> writes:
> Hello,
Hi,
> I have both eshell and shell point to the same remote directory and then
> I run 'git version'.
>
> With eshell, every run gives me:
>
> Tramp: Opening connection for kkn using scp...
> Tramp: Waiting 60s for local shell to come up...
> Tramp: Sending command `exec ssh kkn -q -e none'
> Tramp: Waiting for prompts from remote shell
> Tramp: Found remote shell prompt on `kkn'
>
> But shell only does this at M-x shell, subsequent commands run pretty
> quickly. For example, 'git version' doesn't even print anything to
> *Message*. Can this inefficiency be resolved?
eshell calls `start-file-process' (see `eshell-gather-process-output')
for every single command , which is an asynchronous process. Tramp opens
another connection for asynchronous processes, what you see.
shell calls once `start-file-process' ("/bin/sh -i"), and lets execute
all commands inside this process. That's why it is much faster.
I fear it cannot be changed, because eshell is more flexible than
shell. You could do
~ $ cd /scp:remotehost:
/scp:remotehost: $ hostname
remotehost
/scp:remotehost: $ cd /scp:anotherhost:
/scp:anotherhost: $ hostname
anotherhost
/scp:anotherhost: $
This is not possible with shell.
> Thanks.
>
> Leo
Best regards, Michael.
_______________________________________________
Tramp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/tramp-devel