Created attachment 218568 [details]
test code example
iswprint returns false for L'\u00a0' (NO-BREAK SPACE), see attached code.
The same code returns true on Linux.
Is this a bug in iswprint?
Check that your locale environment is actually Unicode.
With your test program, I see:
$ LANG=C ./wcw
$ LANG=C.UTF-8 ./wcw
I think this is functioning as intended.
(Not a bug on CURRENT, anyway.)
(In reply to Conrad Meyer from comment #2)
Yes, seems to be fixed on -CURRENT. My VM with -CURRENT had wrong locale when I did the testing, sorry.
I saw the issue on 11.4-STABLE r365792:
$ env LANG=C.UTF-8 ./example3
$ env LANG=C ./example3
C.UTF-8 is new in 13, probably 11.x doesn't have it. Try a country UTF-8 locale, e.g., en_US.UTF-8.
(In reply to Conrad Meyer from comment #4)
Yes, en_US.UTF-8 is my default locale, the same thing happens:
$ env LANG=en_US.UTF-8 ./example3
It looks like this is fixed on 12.x as well.
ref12-amd64% LANG=en_CA.UTF-8 ./a.out
FreeBSD 11.4 is the last 11.x release an upgrade will be necessary to pick up the fix.