Subject: Re: 'git log' escape symbols shown as ESC[33 and ESC[m

From: Yuri <[email-masked]>
Date: Tue, 04 Feb 2014 17:24:55 -0800

On 01/16/2014 17:47, Jeff King wrote:
> Are you using "less" as your pager (it is the default in git unless you
> have set your PAGER environment variable)? If so, do you have the "R"
> option set to pass through ANSI codes? Git will set this automatically
> in your "LESS" variable if you do not already have such a variable (but
> it will not touch it if you already have it set, and are missing "R").

I think the 'experimental' approach is simpler and better.
When the git command requiring pager is first run, git would run the 
pager with some simple one line escape sequence, and see if sequence is 
preserved. If it was preserved, git should just run with escape 
sequences. If the pager destroyed the sequence, git should issue a 
warning to the user:
git: your default pager PAGER=more doesn't pass escape sequences, and 
they will be disabled them. You can revert this  decision by changing 
the file ~/.git/pager.conf

This way:
* damaged sequences will not show up by default
* colors will be displayed by default when possible
* user would be informed, and will have a clear choice
* this is easy to implement, and no elaborate and obscure reasoning 
should be employed in the implementation

For me, if git would have told me that my pager doesn't support escape 
sequences, I could have taken it from there.

Yuri