Austin Group Defect Tracker

Aardvark Mark IV


Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000258 [1003.1(2008)/Issue 7] System Interfaces Comment Clarification Requested 2010-05-27 16:39 2024-06-11 08:53
Reporter urmas View Status public  
Assigned To ajosey
Priority normal Resolution Accepted As Marked  
Status Closed  
Name Urmas
Organization
User Reference
Section strftime
Page Number ?
Line Number ?
Interp Status Approved
Final Accepted Text Note: 0000432
Summary 0000258: strftime needs an %EB specifier
Description I would like to propose a new format specifier for strftime function: %EB
It should stand for an alternative form of a full month name in current locale. It is needed for some Slavic languages, for example Russian and Polish, which use nominative case for (example) month/year combination, and genitive case for day/month/year combination. Right now, grammatically correct forms cannot be built with any implementation of corresponding locales with current strftime definition. The standard should provide this option for uniformed and correct locale design.
Desired Action 1) Add %EB modifier specification (Replaced by the locale's alternative full month name) to strftime specification
2) Add a new keyword for locale's alternative month name to LC_TIME specification and corresponding constant;
3) Add a comment to foregoing keyword description stating that for languages which have 2 possible cases for month name, it should be used for nominative case, and 'mon' keyword should be used for genitive case.
Tags c99, issue8
Attached Files

- Relationships
related to 0001166Closed 1003.1(2016/18)/Issue7+TC2 Case variants needed for strftime %b as well as %B 

-  Notes
(0000423)
geoffclare (manager)
2010-05-28 09:15

The %E modifier is specifically related to eras. It should not be
used for this. If a "genitive month name" conversion is added, it
should be a separate conversion letter, for example %K instead of %EB.

There is also something missing from the proposal. Application
writers need to know when to use the two different month names.
The standard would need to specify, say, that %B should be used if
the converted string does not contain the day number, and %K should
be used if it does.

If we decide to add something, we should also forward it to the
C committee for consideration in C1x.
(0000432)
msbrown (manager)
2010-06-24 13:12
edited on: 2010-06-24 15:43

Interpretation response
------------------------

The standard does not speak to this issue, and as such no conformance distinction can be made between alternative implementations based on this. This is being referred to the sponsor.

Rationale:
-------------
The locale specification is believed to be incomplete.


Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
Based on the observation that FreeBSD implemented support for this in 1999, but somewhat differently:
The specifier %B remains the genitive (with day number) and a new
specifier %OB is used for the nominative (no day number), apparently
thought as less common. Although the %O modifier already has a use, this
does not conflict with %B as %B does not contain "digits".


Based on the observation that FreeBSD implemented support for this in 1999, but somewhat differently:
The specifier %B remains the genitive (with day number) and a new
specifier %OB is used for the nominative (no day number), apparently
thought as less common. Although the %O modifier already has a use, this
does not conflict with %B as %B does not contain "digits".

We suggest the following resolution:

Locale Sec 7.3.5.1 LC_TIME p159 after the sentence ending on line 4903 add:
For languages having both a genitive (when used with a day number) and a nominative (no day number) case, this operand shall be used to denote the genitive case.

Locale Sec 7.3.5.1 LC_TIME p159 after line 4903 insert:
alt_mon Define the full month names, corresponding to the %OB conversion specification. The operand shall consist of twelve <semicolon>-separated strings, each surrounded by double-quotes. The first string shall be the full name of the first month of the year (January), the second the full name of the second month, and so on. For languages having both a genitive (when used with a day number) and a nominative (no day number) case, this operand shall be used to denote the nominative case.

Locale Sec 7.3.5.2 LC_TIME p161 after line 4979 insert:
ALTMON_x The alternative full month names (for example, January), where x is a number from 1 to
12.

Locale Sec 7.3.5.3 LC_TIME p163 after line 5109 insert in the table:
alt_mon ALTMON_1 %OB N/A
alt_mon ALTMON_2 %OB N/A
alt_mon ALTMON_3 %OB N/A
alt_mon ALTMON_4 %OB N/A
alt_mon ALTMON_5 %OB N/A
alt_mon ALTMON_6 %OB N/A
alt_mon ALTMON_7 %OB N/A
alt_mon ALTMON_8 %OB N/A
alt_mon ALTMON_9 %OB N/A
alt_mon ALTMON_10 %OB N/A
alt_mon ALTMON_11 %OB N/A
alt_mon ALTMON_12 %OB N/A

Locale Sec 7.4.2 Locale Grammar p171 at the end of line line 5437 add:
| 'alt_mon'

langinfo.h p264 after line 8661 insert:
ALTMON_1 LC_TIME Name of the alternative appropriate first month of the year.
ALTMON_2 LC_TIME Name of the alternative appropriate second month.
ALTMON_3 LC_TIME Name of the alternative appropriate third month.
ALTMON_4 LC_TIME Name of the alternative appropriate fourth month.
ALTMON_5 LC_TIME Name of the alternative appropriate fifth month.
ALTMON_6 LC_TIME Name of the alternative appropriate sixth month.
ALTMON_7 LC_TIME Name of the alternative appropriate seventh month.
ALTMON_8 LC_TIME Name of the alternative appropriate eighth month.
ALTMON_9 LC_TIME Name of the alternative appropriate ninth month.
ALTMON_10 LC_TIME Name of the alternative appropriate tenth month.
ALTMON_11 LC_TIME Name of the alternative appropriate eleventh month.
ALTMON_12 LC_TIME Name of the alternative appropriate twelfth month.

strftime p2010 after line 63652 insert:
%OB Replaced by the locale’s alternative appropriate full month name.

strptime p2028 after line 64194 insert:
%Ob The locale’s appropriate alternative full month name. Either the abbreviated name or the alternative full name may be specified.
%OB Equivalent to %Ob.

date p2576 after line 82930 insert after "era_d_fmt,":
alt_mon,

date p2577 after line 82939 insert:
%OB The locale’s alternative appropriate full month name.

(0000515)
ajosey (manager)
2010-07-30 09:37

Comments/objections on the proposed interpretation are due by 31 Aug 2010

- Issue History
Date Modified Username Field Change
2010-05-27 16:39 urmas New Issue
2010-05-27 16:39 urmas Status New => Under Review
2010-05-27 16:39 urmas Assigned To => ajosey
2010-05-27 16:39 urmas Name => Urmas
2010-05-27 16:39 urmas Section => strftime
2010-05-27 16:39 urmas Page Number => ?
2010-05-27 16:39 urmas Line Number => ?
2010-05-28 09:15 geoffclare Note Added: 0000423
2010-06-24 13:12 msbrown Note Added: 0000432
2010-06-24 15:36 msbrown Note Edited: 0000432
2010-06-24 15:40 msbrown Interp Status => Pending
2010-06-24 15:40 msbrown Final Accepted Text => Note: 0000432
2010-06-24 15:40 msbrown Type Enhancement Request => Clarification Requested
2010-06-24 15:40 msbrown Status Under Review => Interpretation Required
2010-06-24 15:40 msbrown Resolution Open => Accepted As Marked
2010-06-24 15:43 msbrown Note Edited: 0000432
2010-06-24 15:45 nick Tag Attached: c99
2010-07-30 09:37 ajosey Interp Status Pending => Proposed
2010-07-30 09:37 ajosey Note Added: 0000515
2010-09-03 06:22 ajosey Interp Status Proposed => Approved
2010-09-24 16:08 geoffclare Tag Attached: issue8
2019-01-31 16:31 nick Relationship added related to 0001166
2020-01-31 12:25 geoffclare Status Interpretation Required => Applied
2024-06-11 08:53 agadmin Status Applied => Closed


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker