Re: [PATCH] editor: only save (and restore) the terminal if using a tty
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 22, 2021, 22:47 UTC
- Message-ID
- <xmqqee77byf9.fsf@gitster.g>
- In-Reply-To
- <20211122222850.674-1-carenas@gmail.com>
Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:
Show 28 quoted lines
> If the editor is invoked without a controlling terminal, then
> saving the state and restoring it later is not very useful and
> could generate signals that the invoking process wouldn't know
> how to handle.
>
> if git's standard output is not connected to a terminal, then
> presume there is no need to worry if the invoking terminal could
> garble it.
>
> Reported-by: Alexander Veit <alexander.veit@gmx.net>
> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
> editor.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/editor.c b/editor.c
> index 674309eed8..214e3834cb 100644
> --- a/editor.c
> +++ b/editor.c
> @@ -86,7 +86,7 @@ static int launch_specified_editor(const char *editor, const char *path,
> p.env = env;
> p.use_shell = 1;
> p.trace2_child_class = "editor";
> - term_fail = save_term(1);
> + term_fail = isatty(1) ? save_term(1) : 1;
> if (start_command(&p) < 0) {
> if (!term_fail)
> restore_term();I am tempted to say that for 2.34.1 we should revert the offending commit, and for 2.35 and later we should re-queue the offending commit with this fix squashed in.
Unless it can be verified that this fix just works for the reporter in 24 hours, that is.
Thanks.