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

Re: [PATCH] Add a notice that only certain functions can print color escape codes

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Nov 27, 2009, 09:22 UTC
Message-ID
<4B0F9A44.7060706@drmicha.warpmail.net>
In-Reply-To
<4B0F82E1.80402@viscovery.net>
Johannes Sixt venit, vidit, dixit 27.11.2009 08:42:
Show 34 quoted lines
> Junio C Hamano schrieb:
>> Johannes Sixt <j.sixt@viscovery.net> writes:
>>
>>> Like this?
>>
>> Yeah, and in addition to "puts", "write(2)" is also not supported, right?
> 
> Correct, good catch!
> 
> --- 8< ---
> From: Johannes Sixt <j6t@kdbg.org>
> Subject: [PATCH] Add a notice that only certain functions can print color escape codes
> 
> We emulate color escape codes on Windows by overriding printf, fprintf,
> and fputs. Warn users that these are the only functions that can be used
> to print them.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
>  color.h |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/color.h b/color.h
> index 7d8da6f..3cb4b7f 100644
> --- a/color.h
> +++ b/color.h
> @@ -4,6 +4,11 @@
>  /* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */
>  #define COLOR_MAXLEN 24
> 
> +/*
> + * IMPORTANT: Due to the way these color codes are emulated on Windows,
> + * write them only using printf(), fprintf(), and fputs(). In particular,
> + * do not use puts() or write().

Nor putchar nor putc... but they're part of the puts family, of course. More worthwhile then listing those negatives could be a hint on another positive: color_fprintf and friends which are declared at the end of color.h.

> + */
>  #define GIT_COLOR_NORMAL	""
>  #define GIT_COLOR_RESET		"\033[m"
>  #define GIT_COLOR_BOLD		"\033[1m"
Previous: Johannes SixtNext: Junio C Hamano
Message 12 of 14 in “status -s: Use the same config as status”
  1. 0/2 status -s: Use the same config as statusMichael J Gruber, Nov 26, 2009
  2. 1/2 status -s: respect the status.relativePaths optionMichael J Gruber, Nov 26, 2009
  3. Junio C HamanoNov 27, 2009
  4. Jeff KingNov 27, 2009
  5. 2/2 status -s: obey color.statusMichael J Gruber, Nov 26, 2009
  6. Johannes SixtNov 26, 2009
  7. Michael J GruberNov 26, 2009
  8. Junio C HamanoNov 26, 2009
  9. Add a notice that only certain functions can print color escape codesJohannes Sixt, Nov 27, 2009
  10. Junio C HamanoNov 27, 2009
  11. Johannes SixtNov 27, 2009
  12. Michael J GruberNov 27, 2009
  13. Junio C HamanoNov 27, 2009
  14. Michael J GruberNov 27, 2009

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.