This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v11 5/5] Documentation to the above changes (bug 10871).
On 01/08/2018 04:03 PM, Rafal Luzynski wrote:
> [BZ #10871]
> * manual/locale.texi: Document ALTMON_1..12 constants for
> nl_langinfo. Specify when to use ALTMON instead of MON.
> * manual/time.texi (strftime, strptime): Document GNU extension
> permitting O modifier with %B and %b. Specify when to use
> %OB instead of %B.
OK, with the one suggestion below.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> ---
> ChangeLog | 9 +++++++++
> NEWS | 24 ++++++++++++++++++++++++
> manual/locale.texi | 26 +++++++++++++++++++++++---
> manual/time.texi | 35 +++++++++++++++++++++++++++--------
> 4 files changed, 83 insertions(+), 11 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index 75bf467..c70d8a9 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -69,6 +69,30 @@ Major new features:
> collation ordering. Previous glibc versions used locale-specific
> ordering, the change might break systems that relied on that.
>
> +* Support for two grammatical forms of month name has been added.
> + In a call to strftime, the "%B" and "%b" format specifiers will now
> + produce the grammatical form required when the month is used as part
> + of a complete date. New "%OB" and "%Ob" specifiers produce the form
> + required when the month is named by itself. For instance, in Greek
> + and in many Slavic and Baltic languages, "%B" will produce the month
> + in genitive case, and "%OB" will produce the month in nominative case.
OK.
> +
> + In a call to strptime, "%B", "%b", "%h", "%OB", "%Ob", and "%Oh"
> + are all valid and will all accept any known form of month
> + name---standalone or complete, abbreviated or full. In a call to
> + nl_langinfo, the query constants MON_1..12 and ABMON_1..12 return
> + the strings used by "%B" and "%b", respectively. New query
> + constants ALTMON_1..12 and _NL_ABALTMON_1..12 return the strings
> + used by "%OB" and "%Ob", respectively.
OK.
> +
> + In a locale definition file, use "alt_mon" and "ab_alt_mon" to
> + define the strings for %OB and %Ob, respectively; these have the
> + same syntax as "mon" and "ab_mon".
OK.
> +
> + This feature is currently a GNU extension, but it is expected to
> + be added to the next revision of POSIX, and it is also already
> + available on some BSD-derived operating systems.
OK.
> +
> Deprecated and removed features, and other changes affecting compatibility:
>
> * Support for statically linked applications which call dlopen is deprecated
> diff --git a/manual/locale.texi b/manual/locale.texi
> index 60ad2a1..059db75 100644
> --- a/manual/locale.texi
> +++ b/manual/locale.texi
> @@ -923,7 +923,7 @@ corresponds to Sunday.
> @itemx DAY_5
> @itemx DAY_6
> @itemx DAY_7
> -Similar to @code{ABDAY_1} etc., but here the return value is the
> +Similar to @code{ABDAY_1} etc.,@: but here the return value is the
OK.
> unabbreviated weekday name.
> @item ABMON_1
> @itemx ABMON_2
> @@ -937,7 +937,8 @@ unabbreviated weekday name.
> @itemx ABMON_10
> @itemx ABMON_11
> @itemx ABMON_12
> -The return value is abbreviated name of the month. @code{ABMON_1}
> +The return value is the abbreviated name of the month, in the grammatical
> +form used when the month forms part of a complete date. @code{ABMON_1}
OK.
> corresponds to January.
> @item MON_1
> @itemx MON_2
> @@ -951,8 +952,27 @@ corresponds to January.
> @itemx MON_10
> @itemx MON_11
> @itemx MON_12
> -Similar to @code{ABMON_1} etc., but here the month names are not abbreviated.
> +Similar to @code{ABMON_1} etc.,@: but here the month names are not abbreviated.
> Here the first value @code{MON_1} also corresponds to January.
> +@item ALTMON_1
> +@itemx ALTMON_2
> +@itemx ALTMON_3
> +@itemx ALTMON_4
> +@itemx ALTMON_5
> +@itemx ALTMON_6
> +@itemx ALTMON_7
> +@itemx ALTMON_8
> +@itemx ALTMON_9
> +@itemx ALTMON_10
> +@itemx ALTMON_11
> +@itemx ALTMON_12
> +Similar to @code{MON_1} etc.,@: but here the month names are in the grammatical
> +form used when the month is named by itself. The @code{strftime} functions
> +use these month names for the format specifier @code{OB}.
OK.
> +
> +Note that not all languages need two different forms of the month names,
> +so the strings returned for @code{MON_@dots{}} and @code{ALTMON_@dots{}}
> +may or may not be the same, depending on the locale.
OK.
> @item AM_STR
> @itemx PM_STR
> The return values are strings which can be used in the representation of time
> diff --git a/manual/time.texi b/manual/time.texi
> index 33aa221..81c7674 100644
> --- a/manual/time.texi
> +++ b/manual/time.texi
> @@ -1346,8 +1346,13 @@ example, @code{%Ex} might yield a date format based on
> the Japanese
> Emperors' reigns.
>
> @item O
> -Use the locale's alternate numeric symbols for numbers. This modifier
> -applies only to numeric format specifiers.
> +With all format specifiers that produce numbers: use the locale's
> +alternate numeric symbols.
> +
> +With @code{%B} and @code{%b}: use the grammatical form for month names
> +that is appropriate when the month is named by itself, rather than
> +the form that is appropriate when the month is used as part of a
> +complete date. This is a GNU extension.
OK.
> @end table
>
> If the format supports the modifier but no alternate representation
> @@ -1365,13 +1370,21 @@ The abbreviated weekday name according to the current
> locale.
> The full weekday name according to the current locale.
>
> @item %b
> -The abbreviated month name according to the current locale.
> +The abbreviated month name according to the current locale, in the
> +grammatical form used when the month is part of a complete date.
> +As a GNU extension, the @code{O} modifier can be used (@code{%Ob})
> +to get the grammatical form used when the month is named by itself.
OK.
>
> @item %B
> -The full month name according to the current locale.
> +The full month name according to the current locale, in the
> +grammatical form used when the month is part of a complete date.
> +As a GNU extension, the @code{O} modifier can be used (@code{%OB})
> +to get the grammatical form used when the month is named by itself.
OK.
>
> -Using @code{%B} together with @code{%d} produces grammatically
> -incorrect results for some locales.
> +Note that not all languages need two different forms of the month
> +names, so the text produced by @code{%B} and @code{%OB}, and by
> +@code{%b} and @code{%Ob}, may or may not be the same, depending on
> +the locale.
OK.
>
> @item %c
> The preferred calendar time representation for the current locale.
> @@ -1778,8 +1791,14 @@ the full name.
> @item %b
> @itemx %B
> @itemx %h
> -The month name according to the current locale, in abbreviated form or
> -the full name.
> +A month name according to the current locale. All three specifiers
> +will recognize both abbreviated and full month names. If the
> +locale provides two different grammatical forms of month names,
> +all three specifiers will recognize both forms.
> +
> +As a GNU extension, the @code{O} modifier can be used with these
> +specifiers; it has no effect, as both grammatical forms of month
> +names are recognized anyway.
s/anyway//g.
>
> @item %c
> The date and time representation for the current locale.
>
--
Cheers,
Carlos.