Subject: Re: [PATCH 1/1 v2] pager: move pager-specific setup into the build

From: Junio C Hamano <[email-masked]>
Date: Tue, 02 Aug 2016 14:14:22 -0700

Jeff King <[email-masked]> writes:

> On Mon, Aug 01, 2016 at 04:03:40PM -0700, Junio C Hamano wrote:
>
>> Eric Wong <[email-masked]> writes:
>> 
>> > From: Junio C Hamano <[email-masked]>
>> >
>> > Allowing PAGER_ENV to be set at build-time allows us to move
>> > pager-specific knowledge out of our build.  Currently, this
>> > allows us to set a better default for FreeBSD where more(1)
>> > is the same binary as less(1).
>> 
>> Thanks for resurrecting, but I am not sure what "a better default"
>> is from the above description and with the patch.  Even though a
>> naive reading of the above (i.e. "less" and "more" are the same)
>> makes me expect that the patch will give the same set of default
>> environment settings to those on FreeBSD, you give LESS=FRX and
>> MORE=-R, i.e. they are configured differently.
>
> I wondered about this, too. They are the same binary, but calling less
> as "more" (or setting LESS_IS_MORE) causes less to behave "like more".

I guessed that, but if that is the case, "more is the same binary"
is irrelevant.  "more" behaves differently from "less" might be, but
what "less" does is much less important than "more needs this default
setting to work pleasantly", which is what is missing.

So I'd say

    Allowing PAGER_ENV to be set at build-time allows us to move
    pager-specific knowledge out of our build.  This allows us to
    set a better default for FreeBSD more(1), which misbehaves if
    MORE environment variable is left empty $in_such_and_such_way,
    by defaulting it to -R.

without even mentioning anything about "less" may be a more
understandable justification for a patch that sets MORE only on
FreeBSD.