o comportamento da maioria é codificado. O código-fonte tem vários fragmentos como este para análise após um caractere de escape ser recebido:
if ((ch == 033) && (Most_V_Opt == 0))
{
while ((ch == 033)
&& (0 == most_parse_color_escape (&b, e, NULL))
&& (b < e))
ch = *b++;
}
Basicamente, ele diz que se encontrar um caractere de escape ( 033
) e a opção -V
não estiver definida, procure sequências de escape de cor ANSI.
Todas as operações de limpeza começam com um caractere de escape, então a maioria não fará o que for solicitado.
A propósito, vejo que Davis fez uma mudança alguns dias atrás como uma solução alternativa. Em última análise, isso estará em uma versão empacotada ...
Author: John E. Davis 2018-07-11 06:26:02 Committer: John E. Davis 2018-07-11 06:26:02 Parent: 97befd7b984520e80475bb1cb857b35650755a15 (pre5.1-20: Added support for Home/End keys) Branches: master, remotes/origin/master Follows: Precedes: pre5.1-21: Added a work-around for programs that try colorize the output using the clear-to-end-of-line escape sequence (ESC[K) without regard for the value of isatty(fileno(sdout)). +21. src/line.c: Added a work-around for programs that try colorize the + output using the clear-to-end-of-line escape sequence (ESC[K) + without regard for the value of isatty(fileno(sdout)). Most will + ignore ESC[K unless invoked with -v.