From: Lennart Poettering Date: Tue, 4 Jan 2011 13:51:48 +0000 (+0100) Subject: systemctl: Don't use Debian's 'sensible-pager', use 'pager' instead X-Git-Tag: v16~22 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=75d12d5767c7788f86ca782ef459dee8e157c72e systemctl: Don't use Debian's 'sensible-pager', use 'pager' instead --- diff --git a/src/systemctl.c b/src/systemctl.c index 5d2efbe95..4f4ee9617 100644 --- a/src/systemctl.c +++ b/src/systemctl.c @@ -118,6 +118,12 @@ static void pager_open(void); static bool on_tty(void) { static int t = -1; + /* Note that this is invoked relatively early, before we start + * the pager. That means the value we return reflects whether + * we originally were started on a tty, not if we currently + * are. But this is intended, since we want color, and so on + * when run in our own pager. */ + if (_unlikely_(t < 0)) t = isatty(STDOUT_FILENO) > 0; @@ -5336,7 +5342,14 @@ static void pager_open(void) { execlp(pager, pager, NULL); execl("/bin/sh", "sh", "-c", pager, NULL); } else { - execlp("sensible-pager", "sensible-pager", NULL); + /* Debian's alternatives command for pagers is + * called 'pager'. Note that we do not call + * sensible-pagers here, since that is just a + * shell script that implements a logic that + * is similar to this one anyway, but is + * Debian-specific. */ + execlp("pager", "pager", NULL); + execlp("less", "less", NULL); execlp("more", "more", NULL); }