Anonymous | Login | 2023-06-04 11:25 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||
ID | Category | Severity | Type | Date Submitted | Last Update | ||
0000796 | [1003.1(2013)/Issue7+TC1] Base Definitions and Headers | Editorial | Clarification Requested | 2013-11-16 18:16 | 2019-06-10 08:55 | ||
Reporter | steffen | View Status | public | ||||
Assigned To | |||||||
Priority | normal | Resolution | Accepted As Marked | ||||
Status | Closed | ||||||
Name | steffen | ||||||
Organization | |||||||
User Reference | |||||||
Section | XBD 7.2 and 7.3.1; XSH 3.; XCU 4.; XRAT A.7.2, A.8.2 and A.8.3 | ||||||
Page Number | 136, 139, 1012, 3277, 3486, 3497, 3499, (2027, (2051, 2059, 2065, 2246, 2253, 2260)) | ||||||
Line Number | 3882, 4027, 34234, 110021, 117642-117644, 118151, 118241, (64791, (65544, 65838, 65950, 71199, 71409, 71571)) | ||||||
Interp Status | --- | ||||||
Final Accepted Text | See Note: 0002114. | ||||||
Summary | 0000796: Editorial adjustments for the ’C’ and ’POSIX’ locale | ||||||
Description |
POSIX compliant systems provide a superset of ISO C -- fine-tuned and sometimes even incompatibly different; e.g., POSIX specifies that a Byte is an octet, whereas ISO also allows multi-byte Bytes; as a second example, POSIX requires a cast to void* for the NULL macro, whereas ISO C doesn't. This issue is about removing some occurrences of the term «C locale» in favour of «POSIX locale», and in a few places about clarifying that the «POSIX locale» really is a superset of the ISO C locale, (a fact that is already mentioned, here and there), therefore assembling the incestuous relationship of the «POSIX»- and the «C locale» into fewest possible places. |
||||||
Desired Action |
XBD 7.2 «POSIX Locale» On page 136, line 3882 change Conforming systems shall provide a POSIX locale, also known as the C locale. to Conforming systems shall provide a POSIX locale, also known as the C locale. The POSIX locale is a superset of the ISO C locale. XBD 7.3.1 «LC_CTYPE» On page 139, line 4027 change Such a definition would not be a proper superset of the C or POSIX locale to Such a definition would not be a proper superset of the POSIX locale XSH 3., «getdate()» On page 1012, line 34234 change is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default C locale: to is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default POSIX locale: XCU 4., «tr» On page 3277, line 110021 change the top bit set) would have no effect because, in the C locale, bytes with the values octal 200 to to the top bit set) would have no effect because, in the POSIX locale, bytes with the values octal 200 to XRAT A.7.2 «POSIX Locale» On page 3486, lines 117642-117644 change The POSIX locale is equal to the C locale. To avoid being classified as a C-language function, the name has been changed to the POSIX locale; the environment variable value can be either "POSIX" or, for historical reasons, "C". to The POSIX locale is a superset of the ISO C locale. On conforming systems the POSIX locale is used in place of the ISO C locale; the environment variable value can be either "POSIX" or, for historical reasons, and for compatibility with the ISO C standard, "C". XRAT A.8.2 «Internationalization Variables» On page 3497, line 118151 change If this were omitted, the ISO C standard specifies that the C locale would be used. to If this were omitted, the ISO C standard specifies that the C locale would be used. (Recall that on POSIX conforming systems the C locale is an alias for the POSIX locale.) XRAT A.8.3 «Other Environment Variables», «TZ» On page 3499, line 118241 change C or POSIX locale, using characters that are not in the portable character set in the std and dst to POSIX locale, using characters that are not in the portable character set in the std and dst Note for the following: even though the text is in large parts taken from the ISO C standard, larger parts are POSIX specific. XSH 3., «strftime()» On page 2027, line 64791 change In the C locale, the E and O modifiers are ignored and the replacement strings for the following to In the POSIX locale, the E and O modifiers are ignored and the replacement strings for the following Note for the following: Imho the original text is redundant. These changes keep a "CX" shading around, while taking the original C99 text as a base. If that is not desired, please ignore the following. XSH 3., «strtod()» On page 2051, line 65544 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted XSH «strtol()» On page 2059, line 65838 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted XSH «strtoul()» On page 2065, line 65950 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted XSH «wcstod()» On page 2246, line 71199 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted XSH «wcstol()» On page 2253, line 71409 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted XSH «wcstoul()» On page 2260, line 71571 change In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to In other than the "[CX]POSIX[/CX]" locale, additional locale-specific subject sequence forms may be accepted |
||||||
Tags | tc2-2008 | ||||||
Attached Files | |||||||
|
![]() |
|
(0002106) shware_systems (reporter) 2014-01-16 22:46 |
This is per the phone call of 2014-Jan-16, as I heard it; I've added a few implications I think are fair, but if someone thinks they aren't add a note and I'll make appropriate edits: It was agreed that while use of either name still produces equal results on POSIX systems, POSIX now does have additional requirements over ISO C in what data shall be maintained for locale settings and this distinction could be made clearer. Before the LC_MESSAGES category was added the language there was accurate enough, I think. It was also agreed that in places it could be confused whether the ISO C version of "a locale" and what POSIX requires was being referenced, when the language only uses the "C" designation. It was felt, to be consistent in wording with other places in the standard, that both locale names be used, or kept, to keep clear(er) in context that use of either name is referencing the same locale as POSIX requires it, not just how ISO C requires it, for people comparing the language from both standards. As they are the same data, removing the plural forms aids in this recognition too. Yes, it's redundant looking but does serve a purpose. Further, it was agreed that implementation-defined, while consistent with other general usages, in the listed contexts did not adequately express that the behavior is expected to differ only when a locale other than the default POSIX or C locale is in effect (and requires it, nominally due to a provision from some other standards body, though this wasn't explicitly discussed), not as arbitrary extensions that might apply to all locales, so going back more to how the C standard has it phrased was preferable. Combining all that, though this just includes the items mentioned above and there may still be other places that could use similar edits: XBD 7.2 «POSIX Locale» On page 136, line 3882, after: Conforming systems shall provide a POSIX locale, also known as the C locale. add: In POSIX the requirements for the "POSIX" locale are more extensive than the requirement for the "C" locale as specified in the C standard. However, in a conforming POSIX implementation, the "POSIX" locale and the ISO "C" locale are identical for the categories they have in common. [Ed. Note: This is a bit different than what was put on the Etherpad, but I think more precise.] XBD 7.3.1 «LC_CTYPE» On page 139, line 4027, change: Such a definition would not be a proper superset of the C or POSIX locale to: Such a definition would not be a proper superset of the "C" or "POSIX" locale XSH 3., «getdate()» On page 1012, line 34234, change: is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default C locale: to: is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default "C" [CX]or "POSIX"[/CX] locale: XCU 4., «tr» On page 3277, line 110021, change: the top bit set) would have no effect because, in the C locale, bytes with the values octal 200 to to: the top bit set) would have no effect because, in the "C" [CX]or "POSIX"[/CX] locale, bytes with the values octal 200 to XRAT A.7.2 «POSIX Locale» On page 3486, lines 117642-117644, change: The POSIX locale is equal to the C locale. To avoid being classified as a C-language function, the name has been changed to the POSIX locale; the environment variable value can be either "POSIX" or, for historical reasons, "C". to: For the locale categories defined by the ISO C standard, the "POSIX" or "C" locale is equal to the ISO "C" locale in its requirements. To avoid being classified as a C-language function, and as POSIX also requires the additional LC_MESSAGES category, the name has been changed to the "POSIX" locale; the environment variable value can be either "POSIX" or, for historical reasons, "C". XRAT A.8.2 «Internationalization Variables» On page 3497, line 118151, change: If this were omitted, the ISO C standard specifies that the C locale would be used. to: If this were omitted, the ISO C standard specifies that the "C" [CX]or "POSIX"[/CX] locale would be used. XRAT A.8.3 «Other Environment Variables», «TZ» On page 3499, line 118241, change: C or POSIX locale, using characters that are not in the portable character set in the std and dst to: "C" [CX]or "POSIX"[/CX] locale, using characters that are not in the portable character set in the std and dst [Ed. Note: Having CX shading in XRAT may be superfluous, but I kept it as being more consistent with the XBD and XSH entries.] XSH 3., «strftime()» On page 2027, line 64791, change: In the C locale, the E and O modifiers are ignored and the replacement strings for the following to: In the "C" [CX]or "POSIX"[/CX] locale, the E and O modifiers are ignored and the replacement strings for the following XSH 3., «strtod()» On page 2051, line 65544, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be XSH «strtol()» On page 2059, line 65838, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be XSH «strtoul()» On page 2065, line 65950, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstod()» On page 2246, line 71199, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstol()» On page 2253, line 71409, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstoul()» On page 2260, line 71571, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the "C" [CX]or "POSIX"[/CX] locale, additional locale-specific subject sequence forms may be |
(0002112) Don Cragun (manager) 2014-01-23 00:02 edited on: 2014-01-23 00:06 |
Concerning the change suggested in Note: 0002106: XBD 7.2 «POSIX Locale» On page 136, line 3882, after: Conforming systems shall provide a POSIX locale, also known as the C locale. add: In POSIX the requirements for the "POSIX" locale are more extensive than the requirement for the "C" locale as specified in the C standard. However, in a conforming POSIX implementation, the "POSIX" locale and the ISO "C" locale are identical for the categories they have in common. [Ed. Note: This is a bit different than what was put on the Etherpad, but I think more precise.] I believe that the " for the categories they have in common" needs to be removed. By definition, the C Locale and the POSIX Locale are identical on a system that conforms to the POSIX Standards. All categories are, therefore, in common. Adding that phrase makes it sound like one or both of the POSIX and C Locales contain one or more categories that are not present in the other. The precise statement is: However, in a conforming POSIX implementation, the "POSIX" locale and the ISO "C" locale are identical. Adding qualifiers to this statement just confuses the issue. |
(0002113) shware_systems (reporter) 2014-01-23 08:34 |
It's a confused situation... POSIX defines that two labels will reference the same default locale data values, but the base definition of locales is made by the C standard, not POSIX, and is what defines the base data that it considers the defaults. XBD Chapter 7 inherits this definition and specifies how that is expected to be implemented, and defines additional requirements (the LC_MESSAGES category) and optional behaviors. As POSIX extends, not defers to, the C standard, the extra language to indicate this non-deferral is required in a statement comparing POSIX's default "C" locale with C99's default "C" locale. To get rid of it would require the LC_MESSAGES category be excluded from the "POSIX" locale, and then the required behavior of both standards would be equal again. I simply use <the "POSIX" locale> in that context instead of <POSIX's "POSIX" or "C" locale data requirements>, and <ISO "C" locale> instead of <the data the C standard requires an implementation provide as the default locale values> or <ISO 9899:1999 version of default locale data>. So something needs to be there; possibly phrased in a better though probably less succinct fashion, but not deleted. The intent of the phrasing was to leave open Issue 8 may require even more additions than it does now on top of any changes needed for compatibility with C11, but that's the essential way they differ and are the same now. |
(0002114) geoffclare (manager) 2014-01-23 10:23 edited on: 2014-01-23 15:58 |
This is a modified copy of Note: 0002106 which I believe is a more accurate reflection of what the Jan 16 teleconference intended, and has some editorial corrections such as removing unnecessary CX shading and the double quotes that were added around "C" and "POSIX". XBD 7.2 «POSIX Locale» On page 136, line 3882, after: Conforming systems shall provide a POSIX locale, also known as the C locale. add: In POSIX.1 the requirements for the POSIX locale are more extensive than the requirements for the C locale as specified in the C standard. However, in a conforming POSIX implementation, the POSIX locale and the C locale are identical. XSH 3., «getdate()» On page 1012, line 34234, change: is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default C locale: to: is Mon Sep 22 12:19:47 EDT 1986 and the LC_TIME category is set to the default C or POSIX locale: XCU 4., «tr» On page 3277, line 110021, change: the top bit set) would have no effect because, in the C locale, bytes with the values octal 200 to to: the top bit set) would have no effect because, in the C or POSIX locale, bytes with the values octal 200 to XRAT A.7.2 «POSIX Locale» On page 3486, lines 117642-117644, change: The POSIX locale is equal to the C locale. to: On POSIX.1 implementations the POSIX locale is equal to the C locale, even though the requirements for the POSIX locale are more extensive than the C standard's requirements for the C locale. XRAT A.8.2 «Internationalization Variables» On page 3497, line 118151, change: If this were omitted, the ISO C standard specifies that the C locale would be used. to: If this were omitted, the ISO C standard specifies that the C (or POSIX) locale would be used. XSH 3., «strftime()» On page 2027, line 64791, change: In the C locale, the E and O modifiers are ignored and the replacement strings for the following to: In the C [CX]or POSIX[/CX] locale, the E and O modifiers are ignored and the replacement strings for the following XSH 3., «strtod()» On page 2051, line 65544, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be XSH «strtol()» On page 2059, line 65838, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be XSH «strtoul()» On page 2065, line 65950, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstod()» On page 2246, line 71199, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstol()» On page 2253, line 71409, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be XSH «wcstoul()» On page 2260, line 71571, change: In other than the C [CX]or POSIX[/CX] locale[CX]s[/CX], other implementation-defined subject sequences may be to: In other than the C [CX]or POSIX[/CX] locale, additional locale-specific subject sequence forms may be |
(0002829) geoffclare (manager) 2015-09-17 11:20 |
Note that the change to the tr utility in Note: 0002114 is not needed, as this text is being removed by 0000663. |
![]() |
|||
Date Modified | Username | Field | Change |
2013-11-16 18:16 | steffen | New Issue | |
2013-11-16 18:16 | steffen | Name | => steffen |
2013-11-16 18:16 | steffen | Section | => XBD 7.2 and 7.3.1; XSH 3.; XCU 4.; XRAT A.7.2, A.8.2 and A.8.3 |
2013-11-16 18:16 | steffen | Page Number | => 136, 139, 1012, 3277, 3486, 3497, 3499, (2027, (2051, 2059, 2065, 2246, 2253, 2260)) |
2013-11-16 18:16 | steffen | Line Number | => 3882, 4027, 34234, 110021, 117642-117644, 118151, 118241, (64791, (65544, 65838, 65950, 71199, 71409, 71571)) |
2014-01-16 22:46 | shware_systems | Note Added: 0002106 | |
2014-01-23 00:02 | Don Cragun | Note Added: 0002112 | |
2014-01-23 00:03 | Don Cragun | Note Edited: 0002112 | |
2014-01-23 00:06 | Don Cragun | Note Edited: 0002112 | |
2014-01-23 08:34 | shware_systems | Note Added: 0002113 | |
2014-01-23 10:23 | geoffclare | Note Added: 0002114 | |
2014-01-23 15:58 | geoffclare | Note Edited: 0002114 | |
2014-01-23 16:26 | Don Cragun | Interp Status | => --- |
2014-01-23 16:26 | Don Cragun | Final Accepted Text | => See Note: 0002114. |
2014-01-23 16:26 | Don Cragun | Status | New => Resolved |
2014-01-23 16:26 | Don Cragun | Resolution | Open => Accepted As Marked |
2014-01-23 16:26 | Don Cragun | Tag Attached: tc2-2008 | |
2015-09-17 11:20 | geoffclare | Note Added: 0002829 | |
2019-06-10 08:55 | agadmin | Status | Resolved => Closed |
Mantis 1.1.6[^] Copyright © 2000 - 2008 Mantis Group |