X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=pager.c;h=975955ba82a0dbb128d6733090cd74c2b509ea81;hb=e521850bfd4aa79632c99293a39dad56bcaa4143;hp=2c7e8ecb3c0860b00113e348008415ca28a7ff72;hpb=03f94ae9f909952ed5a78917ab319a312889354b;p=git.git diff --git a/pager.c b/pager.c index 2c7e8ecb3..975955ba8 100644 --- a/pager.c +++ b/pager.c @@ -11,8 +11,6 @@ * something different on Windows. */ -static int spawned_pager; - #ifndef WIN32 static void pager_preexec(void) { @@ -48,11 +46,11 @@ static void wait_for_pager_signal(int signo) raise(signo); } -const char *git_pager(void) +const char *git_pager(int stdout_is_tty) { const char *pager; - if (!isatty(1)) + if (!stdout_is_tty) return NULL; pager = getenv("GIT_PAGER"); @@ -73,12 +71,12 @@ const char *git_pager(void) void setup_pager(void) { - const char *pager = git_pager(); + const char *pager = git_pager(isatty(1)); if (!pager) return; - spawned_pager = 1; /* means we are emitting to terminal */ + setenv("GIT_PAGER_IN_USE", "true", 1); /* spawn the pager */ pager_argv[0] = pager; @@ -109,10 +107,6 @@ void setup_pager(void) int pager_in_use(void) { const char *env; - - if (spawned_pager) - return 1; - env = getenv("GIT_PAGER_IN_USE"); return env ? git_config_bool("GIT_PAGER_IN_USE", env) : 0; }