chiark / gitweb /
pager: also redirect stderr
authorLennart Poettering <lennart@poettering.net>
Thu, 27 Aug 2015 22:13:34 +0000 (00:13 +0200)
committerSven Eden <yamakuzure@gmx.net>
Wed, 29 Mar 2017 08:45:08 +0000 (10:45 +0200)
It's really confusing if stdout goes to the pager, but stderr is written
directly to the screen. Hence, make sure both stdout and stderr are
passed to the pager when doing autopaging.

src/shared/pager.c

index f1f3dc7e7edb41a3c5d9320ffa02b7557efe5217..7721e29ff605d6f615aaa80bb0986c40bb260a4c 100644 (file)
@@ -82,7 +82,7 @@ int pager_open(bool jump_to_end) {
 
         /* In the child start the pager */
         if (pager_pid == 0) {
-                const char* less_opts, *less_charset;
+                const char* less_opts;
 
                 (void) reset_all_signal_handlers();
                 (void) reset_signal_mask();
@@ -90,7 +90,6 @@ int pager_open(bool jump_to_end) {
                 dup2(fd[0], STDIN_FILENO);
                 safe_close_pair(fd);
 
-                /* Initialize a good set of less options */
                 less_opts = getenv("SYSTEMD_LESS");
                 if (!less_opts)
                         less_opts = "FRSXMK";
@@ -98,15 +97,6 @@ int pager_open(bool jump_to_end) {
                         less_opts = strjoina(less_opts, " +G");
                 setenv("LESS", less_opts, 1);
 
-                /* Initialize a good charset for less. This is
-                 * particularly important if we output UTF-8
-                 * characters. */
-                less_charset = getenv("SYSTEMD_LESSCHARSET");
-                if (!less_charset && is_locale_utf8())
-                        less_charset = "utf-8";
-                if (less_charset)
-                        setenv("LESSCHARSET", less_charset, 1);
-
                 /* Make sure the pager goes away when the parent dies */
                 if (prctl(PR_SET_PDEATHSIG, SIGTERM) < 0)
                         _exit(EXIT_FAILURE);