From 25fc1786ab147daa9ffa43ebcbaf5c1cc6e50d4f Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Fri, 11 Sep 2009 19:45:07 +0200 Subject: pager: set LESS=FRSX also on Windows Previously, this environment variable was set in the pager_preexec callback, which is conditionally-compiled only on Unix, because it is not, and cannot be, called on Windows. With this patch the env member of struct child_process is used to set the environment variable, which also works on Windows. Noticed by Alexey Borzenkov. Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- pager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pager.c b/pager.c index 4921843577..f416d38ac2 100644 --- a/pager.c +++ b/pager.c @@ -21,8 +21,6 @@ static void pager_preexec(void) FD_ZERO(&in); FD_SET(0, &in); select(1, &in, NULL, &in, NULL); - - setenv("LESS", "FRSX", 0); } #endif @@ -70,6 +68,10 @@ void setup_pager(void) pager_argv[2] = pager; pager_process.argv = pager_argv; pager_process.in = -1; + if (!getenv("LESS")) { + static const char *env[] = { "LESS=FRSX", NULL }; + pager_process.env = env; + } #ifndef __MINGW32__ pager_process.preexec_cb = pager_preexec; #endif -- cgit v1.2.3