[RFC/PATCH] pager: do not fork a pager if environment variable PAGER is set to NONE
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:23
Subsystem:
the rest · Maintainer:
Linus Torvalds
This helps debugging tremendously. Signed-off-by: Johannes Schindelin <redacted> --- pager.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) a91a9371e117555a03cfe7d24515787fb13005b6
diff --git a/pager.c b/pager.c
index 1364e15..1136adf 100644
--- a/pager.c
+++ b/pager.c@@ -5,9 +5,8 @@ #include "cache.h" * something different on Windows, for example. */ -static void run_pager(void) +static void run_pager(const char *prog) { - const char *prog = getenv("PAGER"); if (!prog) prog = "less"; setenv("LESS", "-S", 0);
@@ -16,10 +15,11 @@ static void run_pager(void) void setup_pager(void) { + const char *prog = getenv("PAGER"); pid_t pid; int fd[2]; - if (!isatty(1)) + if (!isatty(1) || (prog != NULL && !strcmp(prog, "NONE"))) return; if (pipe(fd) < 0) return;
@@ -43,6 +43,6 @@ void setup_pager(void) close(fd[0]); close(fd[1]); - run_pager(); + run_pager(prog); exit(255); }
--
1.3.0.rc4.g667c