Re: [PATCH v4] launch_editor: waiting message on error
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Apr 15, 2024, 14:05 UTC
- Message-ID
- <beebf170-31d0-4ecf-b029-d6bc499f6da8@gmail.com>
- In-Reply-To
- <e208da74-8f16-44ae-912e-ae968da82057@gmail.com>
Hi Rubén
On 14/04/2024 08:39, Rubén Justo wrote:
Show 11 quoted lines
> 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 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.
As I've said before I'm not sure how likely that is as I think the editor will probably have printed a message if there was an error. Assuming the message from the editor ends with a newline the proposed change wont do any harm so I don't object to it.
Best Wishes
Phillip
Show 33 quoted lines
> 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>
> ---
> editor.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/editor.c b/editor.c
> index b67b802ddf..d1ba2d7c34 100644
> --- 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)