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

Reply via email to