Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/bin/sleep



On Sat, Jan 26, 2019 at 12:28:08PM +0100, Kamil Rytarowski wrote:
 > This is where I disagree. In my opinion (of a native user of ",") -
 > parsing locale specific input for such programs doesn't make sense.
 > 
 > Locale specific format is in my opinion appropriate only for programs
 > that process text for printing (like man(1) or groff(1)).

So here's the thing: there's an underlying design problem here that
nobody (not us, not POSIX, and certainly not anyone in the Linux
world) has really worked out a solution to, and that is:

The Unix shell environment is about processing text, and, largely,
processing text in arbitrary ad hoc ways. It fundamentally relies on
being able to treat the user-facing output of arbitrary programs as
machine-readable input. This puts the goal of customizing user-facing
output to accomodate the user in direct conflict with the goal of
making the shell environment work as intended.

One 'solution' is to discourage ordinary users from learning the shell
environment ("...for the console is dark, and full of terrors") so
that it can be arbitrarily broken (via ill-considered locale behavior
and other things) without repercussions. That seems to be the Linux
world's approach. That won't work for NetBSD, if only because there
are too many oldtimers here. Another 'solution' is to create a
separate but equal set of additional tools for use when the output
needs to be predictable. This seems to be what POSIX favors, but it's
not right either: it compromises the design, since the point, or part
of the point, has always been that the shell allows you to paste
together the same things that you use directly. Also it multiplies
entities needlessly.

Some other approach is needed. It's not particularly clear what.


-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index