[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #63429] Escape sequence in logs are lost with -O option
From: |
Paul D. Smith |
Subject: |
[bug #63429] Escape sequence in logs are lost with -O option |
Date: |
Sun, 27 Nov 2022 09:21:15 -0500 (EST) |
Update of bug #63429 (project make):
Status: None => Not A Bug
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #1:
There is no way to avoid this. In order for output sync to ensure output is
not jumbled, it has to save the output to a file and print it later. Tools
like grep, etc. choose color or not color output by looking to see whether the
output device is a terminal or not. This is so that if you use something like
*grep foo | sed ...* etc. you won't see all the control characters.
When make redirects the output of the command to a file, grep sees that it is
no longer writing to a terminal and so disables color mode.
GNU make will set the environment variable MAKE_TERMOUT if the command it's
running will _eventually_ be written to a terminal. It would be possible for
tools like grep etc. to check that variable and, if it's set, behave the same
as if it was writing to a terminal. But that would require enhancement to
grep.
The only possible way to solve this in GNU make would be to create a pty for
each command but that is extremely complicated and non-portable.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63429>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/