On 2025-07-30 11:29, Pádraig Brady wrote:
On 30/07/2025 18:31, Paul Eggert wrote:
On 2025-07-30 04:18, Pádraig Brady wrote:
I'd have a slight preference for _not_ gating the isatty(STDOUT) check
on $POSIXLY_CORRECT.
We generally only use $POSIXLY_CORRECT to gate incompatible behavior.
Sure, but don't the GNU coding standards disagree with POSIX here? If we
follow the GNU coding standards with respect to stdout, then we need a
POSIXLY_CORRECT check.
Or are you suggesting that we disregard the coding standards and follow
POSIX instead? That would be a reasonable suggestion but we might want
to ask RMS about it.
I thought POSIX might have higher priority here when it doesn't
clash with existing behavior. As I said I hadn't a strong opinion.
It's indeed not big deal, but if we're in for a nickel with -f (where we
already disagree with POSIX due to the GNU coding standards, and we'll
continue to do so) we might as well be in for a dime with -p (and follow
the GNU coding standards there too).
Didn't we discuss that, deciding we need POSIXLY_CORRECT here to gate
the incompat behavior.
Oh, right.
I.e. existing scripts may be using -f to use form feeds, and we don't
want such scripts starting to pause for their first page of output.
Or do you mean output a bell, but not pause? I can't see how that would
be useful?
Oh right again, it wouldn't be.
However, come to think of it, doesn't the FreeBSD behavior conforms
POSIX? Although
<https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap01.html#tag_18_04>
says that a utility whose description lacks a STDERR section must exit
with nonzer status if it output to stderr, pr's description *does* have
a STDERR section, and that section does not impose this requirement on "pr".
Hence "pr" can output extra bytes to stderr whenever it likes, and that
means that when POSIXLY_CORRECT is set GNU "pr -f" can output a bell
before the first page, as FreeBSD "pr" does.