git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v5 0/2] launch_editor(): indicate that Git waits for user input

From
lars.schneider@autodesk.com <lars.schneider@autodesk.com>
Date
Dec 7, 2017, 15:16 UTC
Message-ID
<20171207151641.75065-1-lars.schneider@autodesk.com>
From: Lars Schneider <larsxschneider@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.GB3313@sigill.intra.peff.net/ [2] https://public-inbox.org/git/20171204220908.GA8184@sigill.intra.peff.net/

RFC: https://public-inbox.org/git/274B4850-2EB7-4BFA-A42C-25A573254969@gmail.com/
 v1: https://public-inbox.org/git/xmqqr2syvjxb.fsf@gitster.mtv.corp.google.com/
 v2: https://public-inbox.org/git/20171117135109.18071-1-lars.schneider@autodesk.com/
 v3: https://public-inbox.org/git/20171127134716.69471-1-lars.schneider@autodesk.com/
 v4: https://public-inbox.org/git/20171129143752.60553-1-lars.schneider@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
Next: lars.schneider@autodesk.com
Message 1 of 10 in “launch_editor(): indicate that Git waits for user input”
  1. 0/2 launch_editor(): indicate that Git waits for user inputlars.schneider@autodesk.com, Dec 7, 2017
  2. 1/2 refactor "dumb" terminal determinationlars.schneider@autodesk.com, Dec 7, 2017
  3. 2/2 launch_editor(): indicate that Git waits for user inputlars.schneider@autodesk.com, Dec 7, 2017
  4. Junio C HamanoDec 7, 2017
  5. Lars SchneiderDec 7, 2017
  6. Lars SchneiderDec 7, 2017
  7. Junio C HamanoDec 7, 2017
  8. Lars SchneiderDec 7, 2017
  9. Kaartic SivaraamDec 7, 2017
  10. Lars SchneiderDec 7, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.