On Sun, Sep 14, 2025 at 02:25:28PM +1000, Bash development wrote: > On Sat, Sep 13, 2025 at 11:06:03PM -0400, Lawrence Velázquez wrote: > > On Sat, Sep 13, 2025, at 6:12 AM, Duncan Roe via Bug reports for the GNU > > Bourne Again SHell wrote: > > > On Fri, Sep 12, 2025 at 11:23:17PM -0400, Lawrence Velázquez wrote: > > >> On Fri, Sep 12, 2025, at 10:56 PM, Duncan Roe via Bug reports for the > > >> GNU Bourne Again SHell wrote: > > >> > Bash is not recognising U+00A0 as whitespace. What to do about it, if > > >> > anything? > > >> > > >> I believe bash mostly tokenizes on <blank> characters. Is U+00A0 > > >> considered a <blank> in your locale? > > >> > > >> -- > > >> vq > > >> > > > It certainly *renders* as a space. > > > Other than that, I'm not sure I understand your question. > > > > I was asking whether your locale specifies U+00A0 as belonging to > > the "blank" character class. Greg demonstrated how to see that: > > > > $ locale > > LANG="en_US.UTF-8" > > LC_COLLATE="en_US.UTF-8" > > LC_CTYPE="en_US.UTF-8" > > LC_MESSAGES="en_US.UTF-8" > > LC_MONETARY="en_US.UTF-8" > > LC_NUMERIC="en_US.UTF-8" > > LC_TIME="en_US.UTF-8" > > LC_ALL= > > $ [[ $'\uA0' = [[:blank:]] ]]; echo "$?" > > 0 > > > > -- > > vq > > > $? = 1 > > Cheers ... Duncan. > Sorry, my bad. I should have done the test as you posted (default LC_COLLATE=C on this system):-
$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE=en_US.UTF-8 LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= $ [[ $'\u20' = [[:blank:]] ]]; echo "$?" 0 $ if [[ -z "" ]] then > echo hello > fi -bash: : command not found Cheers ... Duncan.