From: Lars Schneider <larsxschnei...@gmail.com>

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.gb3...@sigill.intra.peff.net/
[2] https://public-inbox.org/git/20171204220908.ga8...@sigill.intra.peff.net/

RFC: 
https://public-inbox.org/git/274b4850-2eb7-4bfa-a42c-25a573254...@gmail.com/
 v1: https://public-inbox.org/git/xmqqr2syvjxb....@gitster.mtv.corp.google.com/
 v2: 
https://public-inbox.org/git/20171117135109.18071-1-lars.schnei...@autodesk.com/
 v3: 
https://public-inbox.org/git/20171127134716.69471-1-lars.schnei...@autodesk.com/
 v4: 
https://public-inbox.org/git/20171129143752.60553-1-lars.schnei...@autodesk.com/


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

Reply via email to