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

Re: Fwd: [PATCH] Remove terminal symbols from non-terminal console

From
Jeff King <peff@peff.net>
Date
Nov 8, 2012, 16:51 UTC
Message-ID
<20121108165106.GF15560@sigill.intra.peff.net>
In-Reply-To
<CABHRWd16k6B4Ybvc4k7z29_A9Q2wZVXA__Bov8Pst4cc2H0cmg@mail.gmail.com>
On Tue, Nov 06, 2012 at 10:17:21AM +1100, Michael Naumov wrote:
Show 6 quoted lines
> As per discussion on msysgit user group:
> https://groups.google.com/forum/?fromgroups=#!topic/msysgit/U_a982_a3rc/discussion
> we found the following patch is required to get rid of weird terminal
> characters for other tools such as GitExtensions for Windows
> 
> ---8<---

Please follow SubmittingPatches (missing signoff, weird use of scissors marker that cuts out your commit message, and your commit message should summarize the discussion).

Show 9 quoted lines
> @@ -29,7 +29,7 @@ int recv_sideband(const char *me, int in_stream, int out)
> 
>   memcpy(buf, PREFIX, pf);
>   term = getenv("TERM");
> - if (term && strcmp(term, "dumb"))
> + if (isatty(out) && term && strcmp(term, "dumb"))
>   suffix = ANSI_SUFFIX;
>   else
>   suffix = DUMB_SUFFIX;

Is that right? The "out" fd is where we send sideband 1, and it is almost always not going to be a tty. The suffix should be sent with sideband 2, which goes to stderr. So I'd think you would want to check isatty(2).

Also, most isatty checks also need to cover the case that a pager has already been started. That is probably not worth worrying about here, though, as we shouldn't be using a pager for commands that do network communications (and if we do, omitting the magic line-clearing signal is probably a sane thing to do).

I think the overall goal is a step in the right direction, though.
-Peff
Previous: Michael Naumov
Message 2 of 2 in “Fwd: [PATCH] Remove terminal symbols from non-terminal console”
  1. Michael NaumovNov 5, 2012
  2. Jeff KingNov 8, 2012

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.