Le 03/12/2025 à 17:59, Stan Marsh écrivait :
From: Chet Ramey
Subject: Re: Philosophical bash(1) bug
Date: Wed, 3 Dec 2025 10:01:39 -0500
(It's not really a float -- it's seconds and microseconds separated by a
`.').
Are you sure about that?
(Yes, I get how the actual struct that you pass to select() has 2
fields - seconds and microseconds - and that it would be neat and
clean to just put the first part of x.y into the first field and the
second part into the second field, but ...)
At this point it is clear that Mr. Ramey adheres to backward and
inconsistent decimal parsing, arguing that a timeout value is not a
float but two separate parts so it can be parsed with a dot separator
while ignoring locale, yet refuses to treat printf string-to-float
arguments the same way, enforcing locale because POSIX says so.
Parsing the timeout with a dot regardless of locale while enforcing
locale on printf arguments is inconsistent and undermines logical
expectations.
Bash’s integrity is important, and your work as lead maintainer is
remarkable, but standing on this breaks logic and common sense and makes
the behavior difficult to reason about.
--
Léa Gris