From: Jeff King Date: Tue, 11 Jul 2017 13:54:29 GMT Subject: Re: [PATCH 2/7] git.c: let builtins opt for handling `pager.foo` themselves Message-ID: <20170711135429.3vq55amejo37mtjy@sigill.intra.peff.net> In-Reply-To: On Tue, Jul 11, 2017 at 03:46:08PM +0200, Martin Ă…gren wrote: > > Can this ever trigger in execv_dashed_external()? We should only get > > there if get_builtin() returned NULL in the first place. Otherwise, we'd > > run and exited via handle_builtin(). > > I can trigger it with this: > > $ git -c pager.tag="echo paging" -c pager.tag.list=no -c alias.t=tag t -l > > where the alias is what triggers it and the two pager-configurations > demonstrate the effect. Interesting. As you noted below, I think the dashed external we exec should be choosing whether to run the pager. I suspect what's happening is that execv_dashed_external() says "a-ha, we're running 'tag', and I know how to check its pager config". But IMHO that is wrong in the first place (but it just never really made a difference until your series). That's just a guess, though. I didn't dig. -Peff