A NOTE has been added to this issue. ====================================================================== http://austingroupbugs.net/view.php?id=1122 ====================================================================== Reported By: joerg Assigned To: ====================================================================== Project: 1003.1(2016)/Issue7+TC2 Issue ID: 1122 Category: System Interfaces Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Jörg Schilling Organization: User Reference: Section: 3 + 4 Page Number: 1102...and others Line Number: somewhere in section 3 and 4 Interp Status: --- Final Accepted Text: ====================================================================== Date Submitted: 2017-02-28 16:51 UTC Last Modified: 2017-03-02 06:39 UTC ====================================================================== Summary: POSIX should include gettext() and friends ======================================================================
---------------------------------------------------------------------- (0003582) shware_systems (reporter) - 2017-03-02 06:39 http://austingroupbugs.net/view.php?id=1122#c3582 ---------------------------------------------------------------------- Re: 3577 For something on top of c89 to support locales that only need SBCS charmaps that use the subset of control codes C limits applications to gettext is a decent design. I agree, for that limited scope, it can be considered feature complete. When c99 came out the design was not updated to handle the potential use of L"" string form for wchar constants, as in no interfaces returning or using wchar * types, or systems still using arrays of short to represent UCS-2 strings. It may do this for other computer languages, but it's not in the C interfaces. Linguistically, there is no support of mixing R2L or T2B scripts in a L2R string, which has been part of Unicode and ISO-6429 for years now, as well, as just 2 examples of "non-thorough". The gettext manual's advice, in Section 4.3, on using the BiDi control codes is "Don't do that!", because a representation of them a translator could understand easily isn't defined. It is left up to application developers to split or post-process strings needing features like this so the applications accommodate gettext, not gettext accommodating what the standards allow. The most glaring extension, also visible in the manual, is requiring -- switches without corresponding short forms on the utility command lines for various options, and so the code base is dependent on GNU's getopts, not POSIX's. Admittedly, I haven't looked at the autoconf sources to see how many other package dependencies there are, but that alone is disqualifying. Even if all the options had short forms, limiting POSIX versions to only using those would break any script using the long forms. Re: 3578 I have no desire to do a Waldorf Astoria, or even a Motel 6, on something like this. I'd prefer packages like gettext kept getting updated, and did not use extensions that went against the utility guidelines. Supporting Unicode means little niceties like BiDi support can no longer be considered luxuries, however, as any Unicode data stream, including u8", u", and U" strings in C11 source files, may request features like this. Ensuring there are no potential conflicts with implementation defined aspects catgets and gettext allow means something entirely new is the least pita means of going about it that I see, that's all, so string translation source sets have the symbolic tagging that preserves that content. If enough isn't included, any country needing missing features to accurately represent their historical scripting or encoding conventions will be justified, imho, in voting against ratifying Issue 8. If enough is, an elegant enough design provides a framework that various to do lists stand a chance at getting completed. This I would like to see happen. I suspect the people that wrote the lists to begin with would too. Issue History Date Modified Username Field Change ====================================================================== 2017-02-28 16:51 joerg New Issue 2017-02-28 16:51 joerg Name => Jörg Schilling 2017-02-28 16:51 joerg Section => 3 + 4 2017-02-28 16:51 joerg Page Number => 1102...and others 2017-02-28 16:51 joerg Line Number => somewhere in section 3 and 4 2017-03-01 16:05 steffen Note Added: 0003575 2017-03-01 16:54 shware_systems Note Added: 0003576 2017-03-01 17:10 joerg Note Added: 0003577 2017-03-01 17:10 joerg Note Edited: 0003577 2017-03-01 17:11 steffen Note Added: 0003578 2017-03-01 17:13 steffen Note Added: 0003579 2017-03-01 17:23 joerg Note Added: 0003580 2017-03-01 17:27 joerg Note Edited: 0003580 2017-03-01 18:09 joerg Note Edited: 0003580 2017-03-01 22:37 steffen Note Added: 0003581 2017-03-02 06:39 shware_systems Note Added: 0003582 ======================================================================