Subject: Re: [PATCH 0/2] Teach 'git grep' about --open-files-in-pager=[<pager>]

From: Francis Moreau <[email-masked]>
Date: Sat, 27 Mar 2010 16:19:10 +0100

Junio C Hamano <[email-masked]> writes:

> Francis Moreau <[email-masked]> writes:
>
>>> and I often run "git grep -n" in that mode..
>>
>> I always need to pass the '--no-pager' switch: "git --no-pager grep -n"
>> since git doesn't detect that its output is sent to a 'dumb' terminal.
>
> Sorry, but as any self-respecting Emacs user would have PAGER set to cat

Well I do, but only for "M-x shell", probably because I usually start
all commands from that shell.

> (and EDITOR set to emacsclient), I thought nobody would need
> --no-pager ;-)

Indeed, I'll setup PAGER to cat when starting emacs.

That makes me think to one common operation I do which is not really
convenient when PAGER is set to cat: git-log. Piping the output of
git-log to a pager such as less(1) makes git-log to suspend when the
pipe is full. OTOH setting PAGER to cat, git-log never blocks and for
projects with a (very) long history such as git or the linux kernel,
git-log can show a lot of commits making the cpu really busy and the
emacs buffer really huge.

One way to workaround this is to pass -n10 for example to git-log, but
it's rather ugly.

Do you have any tricks for this case ?

Thanks
-- 
Francis