Message ID | 201901200847.AA04198@tamuki.linet.gr.jp |
---|---|
State | New |
Headers | show |
Series | strftime: Improve the width of alternative representation for year [BZ #23758][BZ #24096] | expand |
20.01.2019 09:47 TAMUKI Shoichi <tamuki@linet.gr.jp> wrote: > > In Japanese locales, strftime's alternative year format (%Ey) produces > [...] It is OK for me to use the plural form ("Japanese locales"). I don't quote the rest of your patch as it is correct IMO. I would like to hear the final "OK" from Zack or Paul or someone else who confirms that the documentation is correct. I suggest to wait a while to give them a chance to reply and to push this patch either when they say OK or when you decide that they are unresponsive. Thank you for working on this. Regards, Rafal
Hello Rafal, From: Rafal Luzynski <digitalfreak@lingonborough.com> Subject: Re: [PATCH v8 1/2] strftime: Set the default width of "%Ey" to 2 [BZ #23758] Date: Mon, 21 Jan 2019 18:03:12 +0100 (CET) > > In Japanese locales, strftime's alternative year format (%Ey) produces > > [...] > > It is OK for me to use the plural form ("Japanese locales"). > > I don't quote the rest of your patch as it is correct IMO. > I would like to hear the final "OK" from Zack or Paul or > someone else who confirms that the documentation is correct. > I suggest to wait a while to give them a chance to reply and > to push this patch either when they say OK or when you decide > that they are unresponsive. > > Thank you for working on this. Thank you for your review. Regards, TAMUKI Shoichi
diff --git a/NEWS b/NEWS index cc20102fda..06e64ddb48 100644 --- a/NEWS +++ b/NEWS @@ -52,6 +52,14 @@ Major new features: - C-SKY ABIV2 soft-float little-endian - C-SKY ABIV2 hard-float little-endian +* strftime's default formatting of a locale's alternative year (%Ey) + has been changed to zero-pad the year to a minimum of two digits, + like "%y". This improves the display of Japanese era years during + the first nine years of a new era, and is expected to be harmless + for all other locales (only Japanese locales regularly have + alternative year numbers less than 10). Zero-padding can be + overridden with the '_' or '-' flags (which are GNU extensions). + Deprecated and removed features, and other changes affecting compatibility: * The glibc.tune tunable namespace has been renamed to glibc.cpu and the diff --git a/manual/time.texi b/manual/time.texi index fd7781c531..03a8a0e10f 100644 --- a/manual/time.texi +++ b/manual/time.texi @@ -1568,6 +1568,13 @@ The preferred time of day representation for the current locale. The year without a century as a decimal number (range @code{00} through @code{99}). This is equivalent to the year modulo 100. +If the @code{E} modifier is specified (@code{%Ey}), instead produces +the year number according to a locale-specific alternative calendar. +Unlike @code{%y}, the number is @emph{not} reduced modulo 100. +However, by default it is zero-padded to a minimum of two digits (this +can be overridden by an explicit field width or by the @code{_} and +@code{-} flags). + @item %Y The year as a decimal number, using the Gregorian calendar. Years before the year @code{1} are numbered @code{0}, @code{-1}, and so on. diff --git a/time/strftime_l.c b/time/strftime_l.c index 7ba4179de3..cbe08e7afb 100644 --- a/time/strftime_l.c +++ b/time/strftime_l.c @@ -1294,7 +1294,7 @@ __strftime_internal (CHAR_T *s, size_t maxsize, const CHAR_T *format, if (era) { int delta = tp->tm_year - era->start_date[0]; - DO_NUMBER (1, (era->offset + DO_NUMBER (2, (era->offset + delta * era->absolute_direction)); } #else