[Bug 237752] LC_TIME keywords violate POSIX

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun May 5 00:30:36 UTC 2019


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

            Bug ID: 237752
           Summary: LC_TIME keywords violate POSIX
           Product: Base System
           Version: 12.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: standards
          Assignee: standards at FreeBSD.org
          Reporter: alex+freebsd at strugee.net

IEEE Std 1003.1-2004 ("POSIX.1")[1] section 7.3.5.1 states:

> In a locale definition, the following mandatory keywords shall be recognized:
>
> [...]
>
> [abmon] Define the abbreviated month names, corresponding to the %b conversion specification. The operand shall consist of twelve semicolon-separated strings, each  surrounded by double-quotes. The first string shall be the abbreviated name of the first month of the year (January), the  second the abbreviated name of the second month, and so on.

However, it turns out that FreeBSD does not conform to this behavior. `locale
-k abmon` returns "Unknown keyword: `abmon'". On the other hand, `locale -k
abmon_1` _does_ return "Jan", and so on and so forth.

It seems to me that this is a bug and that the locale keywords need to be
changed if FreeBSD wants to conform to POSIX. Note that locale(1) claims to be
conformant to POSIX.1.

I have confirmed this bug both on FreeBSD 11.2 and on FreeBSD 12.

(For some context, I'm the maintainer of filter-other-days[2] and in the course
of trying to figure out how to do localization support, I started using `locale
-k` to extract this information from the system.)

 [1]: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1309815
 [2]: https://github.com/strugee/filter-other-days

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


More information about the freebsd-standards mailing list