launch_editor(): indicate that Git waits for user input
commitabfb04d0c74cde804c734015ff5868a88c84fb6f
authorLars Schneider <larsxschneider@gmail.com>
Thu, 7 Dec 2017 15:16:41 +0000 (7 16:16 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Dec 2017 18:10:19 +0000 (7 10:10 -0800)
treefc3f346b96ffcb79e27e0a6c102b91fccff8393a
parenta64f213d3fa13fa01e582b6734fe7883ed975dc9
launch_editor(): indicate that Git waits for user input

When a graphical GIT_EDITOR is spawned by a Git command that opens
and waits for user input (e.g. "git rebase -i"), then the editor window
might be obscured by other windows. The user might be left staring at
the original Git terminal window without even realizing that s/he needs
to interact with another window before Git can proceed. To this user Git
appears hanging.

Print a message that Git is waiting for editor input in the original
terminal and get rid of it when the editor returns, if the terminal
supports erasing the last line.  Also, make sure that our message is
terminated with a whitespace so that any message the editor may show
upon starting up will be kept separate from our message.

Power users might not want to see this message or their editor might
already print such a message (e.g. emacsclient). Allow these users to
suppress the message by disabling the "advice.waitingForEditor" config.

The standard advise() function is not used here as it would always add
a newline which would make deleting the message harder.

Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Lars Schneider <larsxschneider@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt
advice.c
advice.h
editor.c