about summary refs log tree commit diff
path: root/locale/programs
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-10-26 23:41:17 +0000
committerUlrich Drepper <drepper@redhat.com>2000-10-26 23:41:17 +0000
commitd8337213c83c3bd4aa32e16669745dd7ee32b329 (patch)
treec9f1296e2e3f355d296e4d8258c8380393006fc0 /locale/programs
parent5be068fc154b697b56cce171a73eccf572f86937 (diff)
downloadglibc-d8337213c83c3bd4aa32e16669745dd7ee32b329.tar.gz
glibc-d8337213c83c3bd4aa32e16669745dd7ee32b329.tar.xz
glibc-d8337213c83c3bd4aa32e16669745dd7ee32b329.zip
Update.
	* locale/C-monetary.c: Set mon_decimal to empty string.
	Add missing entry _NL_MONETARY_CRNCYSTR.
	* stdio-common/printf_fp.c: If MON_DECIAL_POINT is not provided use
	DECIMAL_POINT information.
	* locale/C-numeric.c: Set mon_grouping entry to empty string.
	* locale/C-time.c: Add date_fmt entries.  Remove two wrong entries.
	Correct value for number of entries.
	* locale/localeconv.c: Normalize result passed back in .grouping.
	Fix assignment to .int_* entries.

	* locale/Makefile (tests): Add tst-C-locale.
	* locale/tst-C-locale.c: New file.

	* locale/setlocale.c: Use LOCALEDIR and not LOCALE_PATH to locate
	locale files.
	* locale/newlocale.c: Likewise.

2000-10-26  GOTO Masanori  <gotom@debian.or.jp>

	* locale/langinfo.h: Define _DATE_FMT and _NL_W_DATE_FMT.
	* locale/categories.def: New support for date_fmt.
	* locale/programs/ld-time.c: Likewise.
	* locale/programs/locfile-kw.gperf: Likewise.
	* locale/programs/locfile-kw.h: Likewise.
	* locale/programs/locfile-token.h: Likewise.

2000-10-26  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/ieee754/ldbl-128/e_hypotl.c: New.

	* math/libm-test.inc (cabs_test, cexp_test, csqrt_test, hypot_test):
	Increase precision of constants.
	* sysdeps/alpha/fpu/libm-test-ulps: Update.
	* sysdeps/arm/libm-test-ulps: Update.
	* sysdeps/i386/fpu/libm-test-ulps: Update.
	* sysdeps/ia64/fpu/libm-test-ulps: Update.
	* sysdeps/m68k/fpu/libm-test-ulps: Update.
	* sysdeps/mips/fpu/libm-test-ulps: Update.
	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
	* sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
	* sysdeps/sh/sh4/fpu/libm-test-ulps: Update.
	* sysdeps/s390/fpu/libm-test-ulps: Update.

2000-10-26  Ulrich Drepper  <drepper@redhat.com>
Diffstat (limited to 'locale/programs')
-rw-r--r--locale/programs/ld-time.c21
-rw-r--r--locale/programs/locfile-kw.gperf1
-rw-r--r--locale/programs/locfile-kw.h467
-rw-r--r--locale/programs/locfile-token.h1
4 files changed, 264 insertions, 226 deletions
diff --git a/locale/programs/ld-time.c b/locale/programs/ld-time.c
index b42dba0100..ad4914a154 100644
--- a/locale/programs/ld-time.c
+++ b/locale/programs/ld-time.c
@@ -89,6 +89,8 @@ struct locale_time_t
   const uint32_t *wera_d_fmt;
   const char *alt_digits[100];
   const uint32_t *walt_digits[100];
+  const char *date_fmt;
+  const uint32_t *wdate_fmt;
   int alt_digits_defined;
   unsigned char week_ndays;
   uint32_t week_1stday;
@@ -491,6 +493,11 @@ time_finish (struct localedef_t *locale, struct charmap_t *charmap)
      simply useless, stupid $&$!@...  */
   if (time->timezone == NULL)
     time->timezone = "";
+
+  if (time->date_fmt == NULL)
+    time->date_fmt = "%a %b %e %H:%M:%S %Z %Y";
+  if (time->wdate_fmt == NULL)
+    time->wdate_fmt = (const uint32_t *) L"%a %b %e %H:%M:%S %Z %Y";
 }
 
 
@@ -849,6 +856,19 @@ time_output (struct localedef_t *locale, struct charmap_t *charmap,
 
   iov[2 + cnt].iov_base = (void *) time->timezone;
   iov[2 + cnt].iov_len = strlen (time->timezone) + 1;
+  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
+  ++cnt;
+  ++last_idx;
+
+  iov[2 + cnt].iov_base = (void *) time->date_fmt;
+  iov[2 + cnt].iov_len = strlen (iov[2 + cnt].iov_base) + 1;
+  idx[1 + last_idx] = idx[last_idx] + iov[2 + cnt].iov_len;
+  ++cnt;
+  ++last_idx;
+
+  iov[2 + cnt].iov_base = (void *) time->wdate_fmt;
+  iov[2 + cnt].iov_len = ((wcslen (iov[2 + cnt].iov_base) + 1)
+                          * sizeof (uint32_t));
   ++cnt;
   ++last_idx;
 
@@ -1080,6 +1100,7 @@ time_read (struct linereader *ldfile, struct localedef_t *result,
 	  STR_ELEM (era_d_fmt);
 	  STR_ELEM (era_t_fmt);
 	  STR_ELEM (timezone);
+	  STR_ELEM (date_fmt);
 
 #define INT_ELEM(cat) \
 	case tok_##cat:							      \
diff --git a/locale/programs/locfile-kw.gperf b/locale/programs/locfile-kw.gperf
index 72421c742a..5aaaa6dcba 100644
--- a/locale/programs/locfile-kw.gperf
+++ b/locale/programs/locfile-kw.gperf
@@ -147,6 +147,7 @@ first_weekday,          tok_first_weekday,          0
 first_workday,          tok_first_workday,          0
 cal_direction,          tok_cal_direction,          0
 timezone,               tok_timezone,               0
+date_fmt,               tok_date_fmt,               0
 LC_MESSAGES,            tok_lc_messages,            0
 yesexpr,                tok_yesexpr,                0
 noexpr,                 tok_noexpr,                 0
diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h
index ce219a6565..f456920603 100644
--- a/locale/programs/locfile-kw.h
+++ b/locale/programs/locfile-kw.h
@@ -24,12 +24,12 @@
 #include "locfile-token.h"
 struct keyword_t ;
 
-#define TOTAL_KEYWORDS 174
+#define TOTAL_KEYWORDS 175
 #define MIN_WORD_LENGTH 3
 #define MAX_WORD_LENGTH 22
 #define MIN_HASH_VALUE 3
-#define MAX_HASH_VALUE 539
-/* maximum key range = 537, duplicates = 0 */
+#define MAX_HASH_VALUE 687
+/* maximum key range = 685, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -39,32 +39,32 @@ hash (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-        5,   0, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540,  25, 540,   0,   0,   0,
-       15,   0,   0,   0, 540, 540,   0, 540,   0,   0,
-      540, 540,  15,   0,  10,   5, 540, 540, 540,   0,
-      540, 540, 540, 540, 540,  50, 540,   0,  20, 120,
-        5,   0, 110,  15, 105,  90, 540,  15,  75, 150,
-       70,  65,  15,   0,   5,  50,   0, 230,  10,   5,
-        5,   5,   0, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540, 540, 540, 540, 540,
-      540, 540, 540, 540, 540, 540
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+        5,   0, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688,  15, 688,   0,   0,   0,
+        5,   0,   0,   0, 688, 688,   0, 688,   0,   5,
+      688, 688,  15,   0,   5,  15, 688, 688, 688,   0,
+      688, 688, 688, 688, 688,  75, 688,   0,   0,  65,
+        5,   0,  85,  40,   5, 155, 688,  10, 105, 120,
+      125,  35,   5,  20,   5, 190,   0, 125,  35,  10,
+       30,  35,   0, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688, 688, 688, 688, 688,
+      688, 688, 688, 688, 688, 688
     };
   register int hval = len;
 
@@ -106,291 +106,306 @@ locfile_hash (register const char *str, register unsigned int len)
       {"LC_ADDRESS",             tok_lc_address,             0},
       {"LC_MESSAGES",            tok_lc_messages,            0},
       {"LC_TELEPHONE",           tok_lc_telephone,           0},
-      {"day",                    tok_day,                    0},
+      {"LC_CTYPE",               tok_lc_ctype,               0},
       {"era_t_fmt",              tok_era_t_fmt,              0},
-      {"LC_NUMERIC",             tok_lc_numeric,             0},
-      {"yesstr",                 tok_yesstr,                 0},
+      {"print",                  tok_print,                  0},
+      {"height",                 tok_height,                 0},
       {"LC_IDENTIFICATION",      tok_lc_identification,      0},
-      {"LC_CTYPE",               tok_lc_ctype,               0},
+      {""},
       {"era_d_fmt",              tok_era_d_fmt,              0},
       {"LC_COLLATE",             tok_lc_collate,             0},
       {"IGNORE",                 tok_ignore,                 0},
-      {"yesexpr",                tok_yesexpr,                0},
-      {"era_year",               tok_era_year,               0},
+      {"LC_NAME",                tok_lc_name,                0},
+      {"backward",               tok_backward,               0},
       {"week",                   tok_week,                   0},
-      {"print",                  tok_print,                  0},
+      {"LC_NUMERIC",             tok_lc_numeric,             0},
       {"reorder-end",            tok_reorder_end,            0},
       {""},
       {"reorder-after",          tok_reorder_after,          0},
       {"UNDEFINED",              tok_undefined,              0},
-      {""}, {""},
-      {"LC_NAME",                tok_lc_name,                0},
-      {""}, {""},
-      {"abday",                  tok_abday,                  0},
+      {""},
       {"LC_MONETARY",            tok_lc_monetary,            0},
       {""},
-      {"backward",               tok_backward,               0},
+      {"repertoiremap",          tok_repertoiremap,          0},
       {"LC_MEASUREMENT",         tok_lc_measurement,         0},
       {""}, {""}, {""},
-      {"repertoiremap",          tok_repertoiremap,          0},
-      {""}, {""}, {""}, {""},
       {"LC_PAPER",               tok_lc_paper,               0},
-      {""}, {""}, {""}, {""}, {""}, {""},
-      {"t_fmt",                  tok_t_fmt,                  0},
+      {""}, {""}, {""}, {""},
+      {"day",                    tok_day,                    0},
       {""}, {""},
-      {"grouping",               tok_grouping,               0},
+      {"yesstr",                 tok_yesstr,                 0},
+      {""}, {""}, {""}, {""}, {""},
+      {"toupper",                tok_toupper,                0},
+      {"era_year",               tok_era_year,               0},
+      {""}, {""},
+      {"order_start",            tok_order_start,            0},
+      {"tolower",                tok_tolower,                0},
+      {""}, {""},
+      {"graph",                  tok_graph,                  0},
+      {""}, {""}, {""},
+      {"order_end",              tok_order_end,              0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-      {"d_fmt",                  tok_d_fmt,                  0},
+      {"abday",                  tok_abday,                  0},
       {""},
-      {"address",                tok_address,                0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"space",                  tok_space,                  0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"yesexpr",                tok_yesexpr,                0},
+      {""}, {""},
+      {"t_fmt",                  tok_t_fmt,                  0},
+      {""}, {""}, {""}, {""},
+      {"d_fmt",                  tok_d_fmt,                  0},
+      {""}, {""},
+      {"date_fmt",               tok_date_fmt,               0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"grouping",               tok_grouping,               0},
+      {""}, {""},
+      {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
+      {""}, {""}, {""}, {""},
+      {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
+      {"contact",                tok_contact,                0},
       {"tel",                    tok_tel,                    0},
       {"else",                   tok_else,                   0},
       {"alpha",                  tok_alpha,                  0},
-      {"define",                 tok_define,                 0},
-      {"tolower",                tok_tolower,                0},
-      {""}, {""},
-      {"reorder-sections-end",   tok_reorder_sections_end,   0},
-      {"order_start",            tok_order_start,            0},
-      {"reorder-sections-after", tok_reorder_sections_after, 0},
+      {"country_ab3",            tok_country_ab3,            0},
       {""}, {""}, {""}, {""},
-      {"toupper",                tok_toupper,                0},
+      {"country_ab2",            tok_country_ab2,            0},
+      {"country_post",           tok_country_post,           0},
+      {"fax",                    tok_fax,                    0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"map",                    tok_map,                    0},
       {""},
-      {"order_end",              tok_order_end,              0},
-      {"title",                  tok_title,                  0},
-      {""}, {""},
-      {"timezone",               tok_timezone,               0},
+      {"blank",                  tok_blank,                  0},
       {""},
-      {"digit",                  tok_digit,                  0},
+      {"forward",                tok_forward,                0},
+      {"audience",               tok_audience,               0},
       {""},
+      {"punct",                  tok_punct,                  0},
+      {"define",                 tok_define,                 0},
       {"abbreviation",           tok_abbreviation,           0},
-      {""}, {""}, {""},
-      {"xdigit",                 tok_xdigit,                 0},
-      {""}, {""},
-      {"territory",              tok_territory,              0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"fax",                    tok_fax,                    0},
-      {"translit_start",         tok_translit_start,         0},
-      {"translit_ignore",        tok_translit_ignore,        0},
-      {""},
-      {"translit_end",           tok_translit_end,           0},
-      {""}, {""}, {""},
-      {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
-      {""},
-      {"name_fmt",               tok_name_fmt,               0},
       {""},
-      {"blank",                  tok_blank,                  0},
-      {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
-      {"name_mr",                tok_name_mr,                0},
-      {"revision",               tok_revision,               0},
-      {"lang_name",              tok_lang_name,              0},
+      {"copy",                   tok_copy,                   0},
       {""}, {""}, {""},
-      {"symbol-equivalence",     tok_symbol_equivalence,     0},
+      {"decimal_point",          tok_decimal_point,          0},
       {""},
-      {"alt_digits",             tok_alt_digits,             0},
-      {""}, {""}, {""},
-      {"p_sep_by_space",         tok_p_sep_by_space,         0},
-      {""}, {""}, {""},
+      {"upper",                  tok_upper,                  0},
+      {""}, {""},
       {"category",               tok_category,               0},
       {""},
-      {"nostr",                  tok_nostr,                  0},
+      {"conversion_rate",        tok_conversion_rate,        0},
+      {""}, {""}, {""}, {""},
+      {"lower",                  tok_lower,                  0},
       {""},
-      {"lang_ab",                tok_lang_ab,                0},
-      {"lang_lib",               tok_lang_lib,               0},
+      {"collating-element",      tok_collating_element,      0},
+      {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
       {""},
-      {"lower",                  tok_lower,                  0},
+      {"title",                  tok_title,                  0},
       {""}, {""},
+      {"timezone",               tok_timezone,               0},
+      {""},
+      {"digit",                  tok_digit,                  0},
+      {""}, {""}, {""}, {""},
+      {"postal_fmt",             tok_postal_fmt,             0},
+      {""},
+      {"d_t_fmt",                tok_d_t_fmt,                0},
       {"position",               tok_position,               0},
-      {""}, {""},
+      {"p_sep_by_space",         tok_p_sep_by_space,         0},
+      {"nostr",                  tok_nostr,                  0},
       {"noexpr",                 tok_noexpr,                 0},
-      {""}, {""}, {""},
-      {"abmon",                  tok_abmon,                  0},
-      {""}, {""},
-      {"map",                    tok_map,                    0},
-      {""}, {""}, {""},
-      {"d_t_fmt",                tok_d_t_fmt,                0},
+      {""},
+      {"charconv",               tok_charconv,               0},
+      {""},
+      {"width",                  tok_width,                  0},
+      {"country_car",            tok_country_car,            0},
+      {"comment_char",           tok_comment_char,           0},
       {""}, {""}, {""}, {""},
-      {"name_ms",                tok_name_ms,                0},
-      {"name_mrs",               tok_name_mrs,               0},
+      {"lang_ab",                tok_lang_ab,                0},
+      {"lang_lib",               tok_lang_lib,               0},
+      {"lang_name",              tok_lang_name,              0},
       {""}, {""}, {""}, {""},
-      {"decimal_point",          tok_decimal_point,          0},
-      {""}, {""},
-      {"escape_char",            tok_escape_char,            0},
-      {"forward",                tok_forward,                0},
-      {""},
       {"elif",                   tok_elif,                   0},
       {""},
-      {"script",                 tok_script,                 0},
-      {"contact",                tok_contact,                0},
+      {"xdigit",                 tok_xdigit,                 0},
+      {""}, {""}, {""},
+      {"space",                  tok_space,                  0},
       {""},
-      {"copy",                   tok_copy,                   0},
+      {"address",                tok_address,                0},
+      {""}, {""}, {""}, {""}, {""},
+      {"name_fmt",               tok_name_fmt,               0},
       {""},
-      {"country_ab3",            tok_country_ab3,            0},
+      {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
       {""},
-      {"name_gen",               tok_name_gen,               0},
-      {"n_sep_by_space",         tok_n_sep_by_space,         0},
+      {"name_mr",                tok_name_mr,                0},
       {""},
-      {"country_ab2",            tok_country_ab2,            0},
+      {"from",                   tok_from,                   0},
       {""},
-      {"negative_sign",          tok_negative_sign,          0},
-      {""}, {""}, {""}, {""},
-      {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
+      {"escape_char",            tok_escape_char,            0},
+      {"duo_valid_to",           tok_duo_valid_to,           0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"reorder-sections-end",   tok_reorder_sections_end,   0},
+      {""},
+      {"reorder-sections-after", tok_reorder_sections_after, 0},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"territory",              tok_territory,              0},
       {""}, {""},
+      {"country_name",           tok_country_name,           0},
+      {"language",               tok_language,               0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""},
       {"tel_int_fmt",            tok_tel_int_fmt,            0},
-      {"country_post",           tok_country_post,           0},
+      {"mon_grouping",           tok_mon_grouping,           0},
       {"positive_sign",          tok_positive_sign,          0},
-      {""}, {""},
-      {"height",                 tok_height,                 0},
-      {"collating-element",      tok_collating_element,      0},
-      {"first_weekday",          tok_first_weekday,          0},
-      {""}, {""}, {""}, {""},
-      {"first_workday",          tok_first_workday,          0},
       {""},
-      {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
-      {"p_sign_posn",            tok_p_sign_posn,            0},
-      {""}, {""},
-      {"name_miss",              tok_name_miss,              0},
+      {"abmon",                  tok_abmon,                  0},
+      {"measurement",            tok_measurement,            0},
       {""}, {""}, {""},
-      {"thousands_sep",          tok_thousands_sep,          0},
-      {""},
-      {"graph",                  tok_graph,                  0},
-      {""}, {""},
-      {"audience",               tok_audience,               0},
+      {"coll_weight_max",        tok_coll_weight_max,        0},
+      {"collating-symbol",       tok_collating_symbol,       0},
+      {""}, {""}, {""}, {""},
+      {"script",                 tok_script,                 0},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"cal_direction",          tok_cal_direction,          0},
+      {""}, {""}, {""}, {""},
+      {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
+      {""}, {""}, {""}, {""},
+      {"mon",                    tok_mon,                    0},
+      {"translit_start",         tok_translit_start,         0},
+      {"translit_ignore",        tok_translit_ignore,        0},
       {""},
-      {"postal_fmt",             tok_postal_fmt,             0},
-      {"source",                 tok_source,                 0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"punct",                  tok_punct,                  0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"upper",                  tok_upper,                  0},
+      {"translit_end",           tok_translit_end,           0},
+      {"first_weekday",          tok_first_weekday,          0},
       {""}, {""},
-      {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
-      {""},
-      {"conversion_rate",        tok_conversion_rate,        0},
-      {""},
-      {"country_name",           tok_country_name,           0},
+      {"p_sign_posn",            tok_p_sign_posn,            0},
       {""},
-      {"from",                   tok_from,                   0},
-      {"coll_weight_max",        tok_coll_weight_max,        0},
+      {"first_workday",          tok_first_workday,          0},
+      {"n_sep_by_space",         tok_n_sep_by_space,         0},
       {""},
-      {"mon_grouping",           tok_mon_grouping,           0},
-      {""}, {""},
-      {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
-      {"application",            tok_application,            0},
-      {""}, {""},
-      {"section-symbol",         tok_section_symbol,         0},
-      {"int_prefix",             tok_int_prefix,             0},
-      {"n_sign_posn",            tok_n_sign_posn,            0},
+      {"source",                 tok_source,                 0},
+      {"mon_decimal_point",      tok_mon_decimal_point,      0},
+      {"symbol-equivalence",     tok_symbol_equivalence,     0},
       {""},
-      {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
-      {""}, {""}, {""}, {""},
-      {"mon",                    tok_mon,                    0},
-      {""}, {""},
-      {"collating-symbol",       tok_collating_symbol,       0},
-      {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
-      {""}, {""},
       {"endif",                  tok_endif,                  0},
+      {""}, {""}, {""},
+      {"duo_valid_from",         tok_duo_valid_from,         0},
+      {"default_missing",        tok_default_missing,        0},
+      {""}, {""},
+      {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
       {""},
-      {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
-      {"p_cs_precedes",          tok_p_cs_precedes,          0},
+      {"alt_digits",             tok_alt_digits,             0},
       {""},
-      {"class",                  tok_class,                  0},
-      {""}, {""}, {""}, {""},
-      {"email",                  tok_email,                  0},
-      {""}, {""}, {""}, {""},
-      {"width",                  tok_width,                  0},
-      {""}, {""},
-      {"language",               tok_language,               0},
+      {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
       {""}, {""},
-      {"frac_digits",            tok_frac_digits,            0},
+      {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
+      {""}, {""}, {""},
+      {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
+      {""}, {""}, {""},
+      {"outdigit",               tok_outdigit,               0},
       {""}, {""}, {""}, {""},
-      {"country_car",            tok_country_car,            0},
-      {"comment_char",           tok_comment_char,           0},
+      {"revision",               tok_revision,               0},
       {""}, {""}, {""}, {""},
-      {"duo_valid_to",           tok_duo_valid_to,           0},
-      {"cal_direction",          tok_cal_direction,          0},
-      {""},
-      {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
+      {"name_gen",               tok_name_gen,               0},
       {""},
-      {"int_select",             tok_int_select,             0},
-      {""}, {""}, {""}, {""},
-      {"cntrl",                  tok_cntrl,                  0},
+      {"email",                  tok_email,                  0},
       {""},
-      {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0},
-      {""}, {""},
-      {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
+      {"uno_valid_to",           tok_uno_valid_to,           0},
+      {"negative_sign",          tok_negative_sign,          0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""},
-      {"n_cs_precedes",          tok_n_cs_precedes,          0},
-      {""}, {""}, {""},
+      {"alnum",                  tok_alnum,                  0},
+      {""}, {""}, {""}, {""}, {""},
+      {"country_num",            tok_country_num,            0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"am_pm",                  tok_am_pm,                  0},
+      {""},
+      {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"currency_symbol",        tok_currency_symbol,        0},
+      {""}, {""}, {""}, {""}, {""}, {""},
       {"country_isbn",           tok_country_isbn,           0},
       {""}, {""}, {""}, {""},
-      {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
-      {"charconv",               tok_charconv,               0},
-      {""}, {""}, {""},
-      {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""},
-      {"alnum",                  tok_alnum,                  0},
+      {"name_ms",                tok_name_ms,                0},
+      {"name_mrs",               tok_name_mrs,               0},
       {""}, {""}, {""}, {""},
-      {"int_frac_digits",        tok_int_frac_digits,        0},
+      {"thousands_sep",          tok_thousands_sep,          0},
       {""},
-      {"mon_decimal_point",      tok_mon_decimal_point,      0},
-      {""}, {""}, {""},
-      {"measurement",            tok_measurement,            0},
-      {"uno_valid_to",           tok_uno_valid_to,           0},
-      {"outdigit",               tok_outdigit,               0},
-      {""}, {""}, {""},
+      {"cntrl",                  tok_cntrl,                  0},
+      {""}, {""}, {""}, {""}, {""},
+      {"n_sign_posn",            tok_n_sign_posn,            0},
       {"include",                tok_include,                0},
-      {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
+      {""}, {""},
+      {"ifdef",                  tok_ifdef,                  0},
+      {""},
+      {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
       {""}, {""}, {""}, {""}, {""},
-      {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
+      {"p_cs_precedes",          tok_p_cs_precedes,          0},
+      {"uno_valid_from",         tok_uno_valid_from,         0},
+      {"undef",                  tok_undef,                  0},
       {""}, {""},
-      {"duo_valid_from",         tok_duo_valid_from,         0},
-      {"default_missing",        tok_default_missing,        0},
-      {"country_num",            tok_country_num,            0},
-      {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
+      {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
+      {"lang_term",              tok_lang_term,              0},
       {""}, {""},
-      {"int_curr_symbol",        tok_int_curr_symbol,        0},
+      {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
       {""},
-      {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
-      {""}, {""},
-      {"ifdef",                  tok_ifdef,                  0},
-      {""}, {""}, {""},
       {"duo_int_p_sign_posn",    tok_duo_int_p_sign_posn,    0},
+      {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""},
+      {"application",            tok_application,            0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""},
-      {"lang_term",              tok_lang_term,              0},
+      {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_prefix",             tok_int_prefix,             0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""},
-      {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
-      {""}, {""}, {""}, {""},
-      {"charclass",              tok_charclass,              0},
-      {"am_pm",                  tok_am_pm,                  0},
-      {""}, {""}, {""}, {""},
       {"duo_frac_digits",        tok_duo_frac_digits,        0},
       {""}, {""}, {""}, {""}, {""},
-      {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
+      {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""},
+      {"frac_digits",            tok_frac_digits,            0},
+      {""}, {""},
+      {"charclass",              tok_charclass,              0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""},
-      {"uno_valid_from",         tok_uno_valid_from,         0},
-      {""}, {""}, {""}, {""},
+      {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
+      {""}, {""},
+      {"int_curr_symbol",        tok_int_curr_symbol,        0},
+      {""}, {""},
+      {"n_cs_precedes",          tok_n_cs_precedes,          0},
+      {""},
+      {"int_select",             tok_int_select,             0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {"duo_int_n_sign_posn",    tok_duo_int_n_sign_posn,    0},
-      {""}, {""}, {""}, {""}, {""},
-      {"currency_symbol",        tok_currency_symbol,        0},
+      {"class",                  tok_class,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""}, {""}, {""},
+      {""}, {""},
+      {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""},
       {"duo_int_frac_digits",    tok_duo_int_frac_digits,    0},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
+      {""}, {""}, {""},
+      {"name_miss",              tok_name_miss,              0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-      {""}, {""},
-      {"undef",                  tok_undef,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""},
-      {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0}
+      {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_frac_digits",        tok_int_frac_digits,        0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {"section-symbol",         tok_section_symbol,         0},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+      {""}, {""}, {""}, {""}, {""},
+      {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/locale/programs/locfile-token.h b/locale/programs/locfile-token.h
index 59648f1eb3..04d04b6f26 100644
--- a/locale/programs/locfile-token.h
+++ b/locale/programs/locfile-token.h
@@ -186,6 +186,7 @@ enum token_t
   tok_first_workday,
   tok_cal_direction,
   tok_timezone,
+  tok_date_fmt,
   tok_lc_messages,
   tok_yesexpr,
   tok_noexpr,