static void run_pager(const char *pager)
{
+ /*
+ * Work around bug in "less" by not starting it until we
+ * have real input
+ */
+ fd_set in;
+
+ FD_ZERO(&in);
+ FD_SET(0, &in);
+ select(1, &in, NULL, &in, NULL);
+
execlp(pager, pager, NULL);
execl("/bin/sh", "sh", "-c", pager, NULL);
}
if (!isatty(1))
return;
+ if (!pager) {
+ if (!pager_program)
+ git_config(git_default_config);
+ pager = pager_program;
+ }
if (!pager)
pager = getenv("PAGER");
if (!pager)