From: Lars Schneider <larsxschneider@xxxxxxxxx> Hi, Patch 1/2: No change. The patch got "looks good to me" from Peff [1] Patch 2/2: I changed the waiting message to our bikeshedding result [2] and I enabled the waiting message on dumb terminals for consistency. I also tested the patch on OS X and Windows with smart and dumb terminals. Thanks for the reviews, Lars [1] https://public-inbox.org/git/20171130203042.GB3313@xxxxxxxxxxxxxxxxxxxxx/ [2] https://public-inbox.org/git/20171204220908.GA8184@xxxxxxxxxxxxxxxxxxxxx/ RFC: https://public-inbox.org/git/274B4850-2EB7-4BFA-A42C-25A573254969@xxxxxxxxx/ v1: https://public-inbox.org/git/xmqqr2syvjxb.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxx/ v2: https://public-inbox.org/git/20171117135109.18071-1-lars.schneider@xxxxxxxxxxxx/ v3: https://public-inbox.org/git/20171127134716.69471-1-lars.schneider@xxxxxxxxxxxx/ v4: https://public-inbox.org/git/20171129143752.60553-1-lars.schneider@xxxxxxxxxxxx/ Base Ref: master Web-Diff: https://github.com/larsxschneider/git/commit/c00d4de8cf Checkout: git fetch https://github.com/larsxschneider/git editor-v5 && git checkout c00d4de8cf ### Interdiff (v4..v5): diff --git a/editor.c b/editor.c index cdad4f74ec..d52017363c 100644 --- a/editor.c +++ b/editor.c @@ -45,11 +45,17 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en const char *args[] = { editor, real_path(path), NULL }; struct child_process p = CHILD_PROCESS_INIT; int ret, sig; - int print_waiting_for_editor = advice_waiting_for_editor && - isatty(2) && !is_terminal_dumb(); + int print_waiting_for_editor = advice_waiting_for_editor && isatty(2); if (print_waiting_for_editor) { - fprintf(stderr, _("hint: Waiting for your editor input...")); + fprintf(stderr, + _("hint: Waiting for your editor to close the file... ")); + if (is_terminal_dumb()) + /* + * A dumb terminal cannot erase the line later on. Add a + * newline to separate the hint from subsequent output. + */ + fprintf(stderr, "\n"); fflush(stderr); } @@ -71,11 +77,10 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en return error("There was a problem with the editor '%s'.", editor); - if (print_waiting_for_editor) + if (print_waiting_for_editor && !is_terminal_dumb()) /* - * go back to the beginning and erase the - * entire line to avoid wasting the vertical - * space. + * Go back to the beginning and erase the entire line to + * avoid wasting the vertical space. */ fputs("\r\033[K", stderr); } ### Patches Lars Schneider (2): refactor "dumb" terminal determination launch_editor(): indicate that Git waits for user input Documentation/config.txt | 3 +++ advice.c | 2 ++ advice.h | 1 + cache.h | 1 + color.c | 3 +-- editor.c | 29 +++++++++++++++++++++++++++-- sideband.c | 5 ++--- 7 files changed, 37 insertions(+), 7 deletions(-) base-commit: 89ea799ffcc5c8a0547d3c9075eb979256ee95b8 -- 2.15.1