]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
more: restore exit-on-eof if POSIXLY_CORRECT is not set
authorKarel Zak <kzak@redhat.com>
Wed, 15 Jun 2022 08:03:44 +0000 (10:03 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 15 Jun 2022 08:03:44 +0000 (10:03 +0200)
In version 2.38, exit-on-eof has been disabled by default. This change
is annoying for users and forces many users to use 'alias more="more
-e"'. It seems better to force POSIX lovers to use POSIXLY_CORRECT
env. variable and stay backwardly compatible by default.

Addresses: https://github.com/util-linux/util-linux/issues/1703
Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2088493
Signed-off-by: Karel Zak <kzak@redhat.com>
text-utils/more.1.adoc
text-utils/more.c

index 40f2422f30a8cf91948b297071f19b701079be94..752035093c053f967a8ce3bb5c860e458e11ca0c 100644 (file)
@@ -66,7 +66,7 @@ Prompt with "[Press space to continue, 'q' to quit.]", and display "[Press 'h' f
 Do not pause after any line containing a *^L* (form feed).
 
 *-e*, *--exit-on-eof*::
-Exit on End-Of-File, enabled by default if not executed on terminal.
+Exit on End-Of-File, enabled by default if POSIXLY_CORRECT environment variable is not set or if not executed on terminal.
 
 *-f*, *--no-pause*::
 Count logical lines, rather than screen lines (i.e., long lines are not folded).
index e3e2a4336465307b77b33e9a6e3dce126629a515..f2cd95e9b39fe12df883efcbc8866292a5fd54b7 100644 (file)
@@ -2052,8 +2052,11 @@ int main(int argc, char **argv)
        if (!(strcmp(program_invocation_short_name, "page")))
                ctl.no_scroll++;
 
+       ctl.exit_on_eof = getenv("POSIXLY_CORRECT") ? 0 : 1;
+
        if ((s = getenv("MORE")) != NULL)
                env_argscan(&ctl, s);
+
        argscan(&ctl, argc, argv);
 
        /* clear any inherited settings */