URL: <https://savannah.gnu.org/bugs/?68453>
Summary: bash 5.3 on macOS (Homebrew): inconsistent locale
handling e.g. in printf builtin
Group: The GNU Bourne-Again SHell
Submitter: None
Submitted: Wed 17 Jun 2026 11:49:24 AM UTC
Category: None
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Unlocked
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Wed 17 Jun 2026 11:49:24 AM UTC By: Anonymous
On macOS, bash 5.3 installed via Homebrew shows inconsistent behaviour e.g.in
the printf builtin when handling floating-point formatting under
LC_NUMERIC=C.
In an interactive shell, numeric input using dot decimal separator is rejected
as invalid, and output uses a comma decimal separator, despite locale
variables being unset or set to "C".
The issue is reproducible only in Homebrew bash 5.3 and does not occur in the
system default very old bash (3.2), nor was present in bash 5.2.
Steps to reproduce:
1. Start Homebrew bash 5.3: /opt/homebrew/bin/bash
2. Ensure no locale variables are set: env | grep '^LC_\|^LANG'
3. Run: printf "%f\n" 1.234
Actual result:
bash: printf: 1.234: invalid number
1,000000
Expected result:
1.234000
=== Additional observations: ===
* System bash works correctly:
$ /bin/bash --norc --noprofile -c 'printf "%f\n" 1.23'
1.230000
* Fix observed with explicit locale:
$ LC_NUMERIC=C bash -c 'printf "%f\n" 0.123'
0.123000
* Python confirms correct libc locale state: decimal_point == "."
* locale command reports LC_NUMERIC="C" even when issue is present.
* The most surprising behaviour is that running bash locally setting
LC_NUMERIC fixes the behaviour of the present session:
$ printf "%f\n" 1.23
-bash: printf: 1.23: invalid number
1,000000
$ LC_NUMERIC=C bash -c 'printf "%f\n" 0.123'
0.123000
$ printf "%f\n" 1.23
1.230000
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68453>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
