From 34fd1c9ac5845d541e3196983df7f993e751b544 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 21 Apr 2006 12:25:13 -0700 Subject: [PATCH] git-log produces no output When $PAGER is set to 'less -i', we used to fail because we assumed the $PAGER is a command and simply exec'ed it. Try exec first, and then run it through shell if it fails. This allows even funkier PAGERs like these ;-): PAGER='sed -e "s/^/`date`: /" | more' PAGER='contrib/colordiff.perl | less -RS' Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- pager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pager.c b/pager.c index e5ba2738b..f7b8e7871 100644 --- a/pager.c +++ b/pager.c @@ -8,6 +8,7 @@ static void run_pager(const char *pager) { execlp(pager, pager, NULL); + execl("/bin/sh", "sh", "-c", pager, NULL); } void setup_pager(void) @@ -47,5 +48,6 @@ void setup_pager(void) setenv("LESS", "-S", 0); run_pager(pager); + die("unable to execute pager '%s'", pager); exit(255); } -- 2.30.2