Thread (1 message) 1 message, 1 author, 2021-11-22

Re: [PATCH] editor: only save (and restore) the terminal if using a tty

From: Junio C Hamano <hidden>
Date: 2021-11-22 22:47:27

Carlo Marcelo Arenas Belón  [off-list ref] writes:
quoted hunk
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 <redacted>
Signed-off-by: Carlo Marcelo Arenas Belón <redacted>
---
 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help