[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tramp (2.1.15); M-! runs in a tty
From: |
Michael Albinus |
Subject: |
Re: tramp (2.1.15); M-! runs in a tty |
Date: |
Sun, 24 Jan 2010 16:56:13 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
address@hidden (Trent W. Buck) writes:
> The command run by M-! (shell-command) runs in a tty if and only if the
> default-directory is over TRAMP. The following test will print a zero
> in the echo area if fd 1 (stdout) is a tty:
>
> M-! test -t 1; echo $?
Tramp needs a tty. It must communicate with the remote shell, for
example in order to determine the prompt, when a command is finished.
> This is a show-stopper issue when running git over tramp, because
>
> 1. git notes that stdout is a tty;
> 2. git invokes the pager;
> 3. the pager waits forever for input from /dev/tty; and
> 4. Emacs waits forever for the shell command to terminate.
>
> There are some obvious workarounds:
>
> - customize the remote user's dotfiles; or
> - when using git over tramp, ALWAYS pipe through cat
There are alternatives. Set the $GIT_PAGER environment variable in
`tramp-remote-process-environment', or call git with --no-pager. Both
can be done centrally.
Best regards, Michael.