[Bug 213013] unicode private use chars incorrectly classified

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Sep 27 01:46:15 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213013

            Bug ID: 213013
           Summary: unicode private use chars incorrectly classified
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: standards
          Assignee: freebsd-standards at FreeBSD.org
          Reporter: krader at skepticism.us

The fish shell project (https://github.com/fish-shell/fish-shell) has received
several reports of incorrect behavior on various FreeBSD implementations when a
UTF-8 locale is in effect. Including FreeBSD 12 and DragonFly BSD. I have
traced the problem to FreeBSD classifying the Unicode private use code point
block from 0xFDD0 to 0xFDEF. The `iswalnum()` and `iswgraph()` libc functions
incorrectly return one for those code points. The Unicode standard (see section
16.7) is very clear that those code points represent "non-characters" (see
http://www.unicode.org/versions/Unicode6.0.0/ch16.pdf and
http://www.fileformat.info/info/unicode/char/fdd0/index.htm). Thus those
functions should return zero as the GNU libc implementation does.

More background can be found in these fish issues:

https://github.com/fish-shell/fish-shell/issues/3050
https://github.com/fish-shell/fish-shell/issues/3406
https://github.com/fish-shell/fish-shell/issues/3302

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-standards mailing list