Hi Peff, On Fri, 24 Jun 2016, Jeff King wrote: > On Tue, Jun 14, 2016 at 11:00:38PM +0200, Lukas Fleischer wrote: > > > Improve the readability of recv_sideband() significantly by replacing > > fragile buffer manipulations with string buffers and more sophisticated > > format strings. Note that each line is printed using a single write() > > syscall to avoid garbled output when multiple processes write to stderr > > in parallel, see 9ac13ec (atomic write for sideband remote messages, > > 2006-10-11) for details. > > > > Also, reorganize the overall control flow, remove some superfluous > > variables and replace a custom implementation of strpbrk() with a call > > to the standard C library function. > > I happened to be looking at the color-printing code yesterday, and was > reminded that on Windows, fprintf is responsible for converting ANSI > codes into colors the terminal can show: Thanks for remembering! > $ git grep -A2 IMPORTANT color.h > color.h: * IMPORTANT: Due to the way these color codes are emulated on Windows, > color.h- * write them only using printf(), fprintf(), and fputs(). In particular, > color.h- * do not use puts() or write(). > > Your patch converts some fprintf calls to write. What does this mean > on Windows for: > > 1. Remote servers which send ANSI codes and expect them to look > reasonable (this might be a losing proposition already, as the > server won't know anything about the user's terminal, or whether > output is going to a file). > > 2. The use of ANSI_SUFFIX in this function, which uses a similar > escape code. Wow, I did not even think that a remote server would send color codes, what with the server being unable to query the local terminal via isatty(). Do we *actually* send color via the sideband, like, ever? Ciao, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html