Source-Changes-D archive

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

Re: CVS commit: src/bin/sleep



    Date:        Fri, 25 Jan 2019 12:29:12 -0000 (UTC)
    From:        christos%astron.com@localhost (Christos Zoulas)
    Message-ID:  <q2eveo$109$1%blaine.gmane.org@localhost>

  | I think that we should consult what the standards say about all of this,

What POSIX says in general, about locales and how they should be
used is ...

	The standard utilities in the Shell and Utilities volume of POSIX.1-2017
	shall base their behavior on the current locale, as defined in the
	ENVIRONMENT VARIABLES section for each utility.

The section for sleep(1) doesn't mention LC_NUMERIC, as sleep (in POSIX) has
nothing locale specific to deal with, just integers.

But for at(1) it says (not about LC_NUMERIC, but LC_TIME, but an analogy
can probably be made).

As for the other OS's, I believe that linux supports floating point, but I have
no idea how they parse it (I'll ask Paul Eggert, he's listed as one of its
authors) I very much doubt that any of the commercial (or ex-commercial)
ones would, they tend to be conservative about such things.

kre

	LC_TIME Determine the format and contents for date and time
		strings written and accepted by at.

which suggests that "at" should take "at 17:00 Dienstag" in a DE locale,
rather than "at 5pm Thursday".

But of awk it says ...

    LC_NUMERIC
                  Determine the radix character used when interpreting numeric input, performing
                  conversions between numeric and string values, and formatting numeric output.
                  Regardless of locale, the <period> character (the decimal-point character of the
                  POSIX locale) is the decimal-point character recognized in processing awk
                  programs (including assignments in command line arguments).


There really are very few programs in the standard set which take anything
except file names (which are locale specific, but that means nothing, to the
program the names are just byte strings) single letter options, and the 
occasional ingeger or arbitrary string as args.   So the issue hasn't really
come up.

lre





Home | Main Index | Thread Index | Old Index