From: Lars Schneider <[email protected]>
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/[email protected]/
[2] https://public-inbox.org/git/[email protected]/
RFC:
https://public-inbox.org/git/[email protected]/
v1: https://public-inbox.org/git/[email protected]/
v2:
https://public-inbox.org/git/[email protected]/
v3:
https://public-inbox.org/git/[email protected]/
v4:
https://public-inbox.org/git/[email protected]/
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