]> git.ipfire.org Git - thirdparty/git.git/commitdiff
launch_editor: waiting message on error
authorRubén Justo <rjusto@gmail.com>
Sun, 14 Apr 2024 07:39:44 +0000 (09:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 15 Apr 2024 17:13:32 +0000 (10:13 -0700)
When advice.waitingForEditor configuration is not set to false, we show
a hint telling that we are waiting for user's editor to close the file
when we launch an editor and wait for it to return control back to us.
We give the message on an incomplete line, expecting that we can go back
to the beginning of the line and clear the message when the editor returns.

However, it is possible that the editor exits with an error status, in
which case we show an error message and then return to our caller.  In
such a case, the error message is given where the terminal cursor
happens to be, which is most likely after the "we are waiting for your
editor" message on the same line.

Clear the line before showing the error.

While we're here, make the error message follow our CodingGuideLines.

Signed-off-by: Rubén Justo <rjusto@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
editor.c

index b67b802ddf8493ea25ccbb1fc5c046240bfe917d..d1ba2d7c34fbf4bfa9c9b21c51ada7dd88fcf1e6 100644 (file)
--- a/editor.c
+++ b/editor.c
@@ -104,16 +104,15 @@ static int launch_specified_editor(const char *editor, const char *path,
                sigchain_pop(SIGQUIT);
                if (sig == SIGINT || sig == SIGQUIT)
                        raise(sig);
-               if (ret)
-                       return error("There was a problem with the editor '%s'.",
-                                       editor);
-
                if (print_waiting_for_editor && !is_terminal_dumb())
                        /*
                         * Erase the entire line to avoid wasting the
                         * vertical space.
                         */
                        term_clear_line();
+               if (ret)
+                       return error("there was a problem with the editor '%s'",
+                                       editor);
        }
 
        if (!buffer)