aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-10-11 02:36:04 +0000
committerUlrich Drepper <drepper@redhat.com>2007-10-11 02:36:04 +0000
commit3a054d7ab0f7c413d65ec51899d622f8e7008fe9 (patch)
treeda1a0f232b050ea2ec8759d9c728d68cf534b32c
parentRemove tok_elif, add tok_elifdef and tok_elifndef. (diff)
downloadglibc-3a054d7ab0f7c413d65ec51899d622f8e7008fe9.tar.gz
glibc-3a054d7ab0f7c413d65ec51899d622f8e7008fe9.tar.bz2
glibc-3a054d7ab0f7c413d65ec51899d622f8e7008fe9.zip
* locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef
and tok_elifndef. * locale/programs/locfile-kw.gperf: Likewise. * locale/programs/ld-collate.c: Implement primitive preprocessor.
-rw-r--r--ChangeLog7
-rw-r--r--locale/programs/ld-collate.c265
-rw-r--r--locale/programs/locfile-kw.h604
-rw-r--r--localedata/ChangeLog7
-rw-r--r--localedata/de_DE.in6
-rw-r--r--localedata/locales/de_DE2
-rw-r--r--localedata/locales/iso14651_t1_common4
7 files changed, 591 insertions, 304 deletions
diff --git a/ChangeLog b/ChangeLog
index f80b2f1e0a..7ca024625d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-10-10 Ulrich Drepper <drepper@redhat.com>
+
+ * locale/programs/locfile-token.h: Remove tok_elif, add tok_elifdef
+ and tok_elifndef.
+ * locale/programs/locfile-kw.gperf: Likewise.
+ * locale/programs/ld-collate.c: Implement primitive preprocessor.
+
2007-10-10 Jakub Jelinek <jakub@redhat.com>
* stdio-common/printf-parse.h: Include string.h and wchar.h.
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index d6c3de0147..6d8f3fb2f0 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -181,6 +181,14 @@ struct symbol_t
#include "3level.h"
+/* Simple name list for the preprocessor. */
+struct name_list
+{
+ struct name_list *next;
+ char str[0];
+};
+
+
/* The real definition of the struct for the LC_COLLATE locale. */
struct locale_collate_t
{
@@ -240,6 +248,15 @@ struct locale_collate_t
/* The arrays with the collation sequence order. */
unsigned char mbseqorder[256];
struct collseq_table wcseqorder;
+
+ /* State of the preprocessor. */
+ enum
+ {
+ else_none = 0,
+ else_ignore,
+ else_seen
+ }
+ else_action;
};
@@ -247,6 +264,9 @@ struct locale_collate_t
LC_COLLATE category descriptions in all files. */
static uint32_t nrules;
+/* List of defined preprocessor symbols. */
+static struct name_list *defined;
+
/* We need UTF-8 encoding of numbers. */
static inline int
@@ -2622,6 +2642,43 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
}
+static enum token_t
+skip_to (struct linereader *ldfile, struct locale_collate_t *collate,
+ const struct charmap_t *charmap, int to_endif)
+{
+ while (1)
+ {
+ struct token *now = lr_token (ldfile, charmap, NULL, NULL, 0);
+ enum token_t nowtok = now->tok;
+
+ if (nowtok == tok_eof || nowtok == tok_end)
+ return nowtok;
+
+ if (nowtok == tok_ifdef || nowtok == tok_ifndef)
+ {
+ lr_error (ldfile, _("%s: nested conditionals not supported"),
+ "LC_COLLATE");
+ nowtok = skip_to (ldfile, collate, charmap, tok_endif);
+ if (nowtok == tok_eof || nowtok == tok_end)
+ return nowtok;
+ }
+ else if ((!to_endif && (nowtok == tok_else || nowtok == tok_elifdef
+ || nowtok == tok_elifndef))
+ || nowtok == tok_endif)
+ {
+ lr_ignore_rest (ldfile, 1);
+ return nowtok;
+ }
+ else if (nowtok == tok_else)
+ {
+ lr_error (ldfile, _("%s: more then one 'else'"), "LC_COLLATE");
+ }
+
+ lr_ignore_rest (ldfile, 0);
+ }
+}
+
+
void
collate_read (struct linereader *ldfile, struct localedef_t *result,
const struct charmap_t *charmap, const char *repertoire_name,
@@ -2659,6 +2716,38 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
}
while (nowtok == tok_eol);
+ while (nowtok == tok_define)
+ {
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ continue;
+ }
+
+ arg = lr_token (ldfile, charmap, result, NULL, verbose);
+ if (arg->tok != tok_ident)
+ SYNTAX_ERROR (_("%s: syntax error"), "LC_COLLATE");
+ else
+ {
+ /* Simply add the new symbol. */
+ struct name_list *newsym = xmalloc (sizeof (*newsym)
+ + arg->val.str.lenmb + 1);
+ memcpy (newsym->str, arg->val.str.startmb, arg->val.str.lenmb);
+ newsym->str[arg->val.str.lenmb] = '\0';
+ newsym->next = defined;
+ defined = newsym;
+
+ lr_ignore_rest (ldfile, 1);
+ }
+
+ do
+ {
+ now = lr_token (ldfile, charmap, result, NULL, verbose);
+ nowtok = now->tok;
+ }
+ while (nowtok == tok_eol);
+ }
+
if (nowtok == tok_copy)
{
now = lr_token (ldfile, charmap, result, NULL, verbose);
@@ -3798,6 +3887,7 @@ error while adding equivalent collating symbol"));
break;
case tok_end:
+ seen_end:
/* Next we assume `LC_COLLATE'. */
if (!ignore_content)
{
@@ -3838,6 +3928,180 @@ error while adding equivalent collating symbol"));
lr_ignore_rest (ldfile, arg->tok == tok_lc_collate);
return;
+ case tok_define:
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ break;
+ }
+
+ arg = lr_token (ldfile, charmap, result, NULL, verbose);
+ if (arg->tok != tok_ident)
+ goto err_label;
+
+ /* Simply add the new symbol. */
+ struct name_list *newsym = xmalloc (sizeof (*newsym)
+ + arg->val.str.lenmb + 1);
+ memcpy (newsym->str, arg->val.str.startmb, arg->val.str.lenmb);
+ newsym->str[arg->val.str.lenmb] = '\0';
+ newsym->next = defined;
+ defined = newsym;
+
+ lr_ignore_rest (ldfile, 1);
+ break;
+
+ case tok_undef:
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ break;
+ }
+
+ arg = lr_token (ldfile, charmap, result, NULL, verbose);
+ if (arg->tok != tok_ident)
+ goto err_label;
+
+ /* Remove _all_ occurrences of the symbol from the list. */
+ struct name_list *prevdef = NULL;
+ struct name_list *curdef = defined;
+ while (curdef != NULL)
+ if (strncmp (arg->val.str.startmb, curdef->str,
+ arg->val.str.lenmb) == 0
+ && curdef->str[arg->val.str.lenmb] == '\0')
+ {
+ if (prevdef == NULL)
+ defined = curdef->next;
+ else
+ prevdef->next = curdef->next;
+
+ struct name_list *olddef = curdef;
+ curdef = curdef->next;
+
+ free (olddef);
+ }
+ else
+ {
+ prevdef = curdef;
+ curdef = curdef->next;
+ }
+
+ lr_ignore_rest (ldfile, 1);
+ break;
+
+ case tok_ifdef:
+ case tok_ifndef:
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ break;
+ }
+
+ found_ifdef:
+ arg = lr_token (ldfile, charmap, result, NULL, verbose);
+ if (arg->tok != tok_ident)
+ goto err_label;
+ lr_ignore_rest (ldfile, 1);
+
+ if (collate->else_action == else_none)
+ {
+ curdef = defined;
+ while (curdef != NULL)
+ if (strncmp (arg->val.str.startmb, curdef->str,
+ arg->val.str.lenmb) == 0
+ && curdef->str[arg->val.str.lenmb] == '\0')
+ break;
+
+ if ((nowtok == tok_ifdef && curdef != NULL)
+ || (nowtok == tok_ifndef && curdef == NULL))
+ {
+ /* We have to use the if-branch. */
+ collate->else_action = else_ignore;
+ }
+ else
+ {
+ /* We have to use the else-branch, if there is one. */
+ nowtok = skip_to (ldfile, collate, charmap, 0);
+ if (nowtok == tok_else)
+ collate->else_action = else_seen;
+ else if (nowtok == tok_elifdef)
+ {
+ nowtok = tok_ifdef;
+ goto found_ifdef;
+ }
+ else if (nowtok == tok_elifndef)
+ {
+ nowtok = tok_ifndef;
+ goto found_ifdef;
+ }
+ else if (nowtok == tok_eof)
+ goto seen_eof;
+ else if (nowtok == tok_end)
+ goto seen_end;
+ }
+ }
+ else
+ {
+ /* XXX Should it really become necessary to support nested
+ preprocessor handling we will push the state here. */
+ lr_error (ldfile, _("%s: nested conditionals not supported"),
+ "LC_COLLATE");
+ nowtok = skip_to (ldfile, collate, charmap, 1);
+ if (nowtok == tok_eof)
+ goto seen_eof;
+ else if (nowtok == tok_end)
+ goto seen_end;
+ }
+ break;
+
+ case tok_elifdef:
+ case tok_elifndef:
+ case tok_else:
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ break;
+ }
+
+ lr_ignore_rest (ldfile, 1);
+
+ if (collate->else_action == else_ignore)
+ {
+ /* Ignore everything until the endif. */
+ nowtok = skip_to (ldfile, collate, charmap, 1);
+ if (nowtok == tok_eof)
+ goto seen_eof;
+ else if (nowtok == tok_end)
+ goto seen_end;
+ }
+ else
+ {
+ assert (collate->else_action == else_none);
+ lr_error (ldfile, _("\
+%s: '%s' without matching 'ifdef' or 'ifndef'"), "LC_COLLATE",
+ nowtok == tok_else ? "else"
+ : nowtok == tok_elifdef ? "elifdef" : "elifndef");
+ }
+ break;
+
+ case tok_endif:
+ if (ignore_content)
+ {
+ lr_ignore_rest (ldfile, 0);
+ break;
+ }
+
+ lr_ignore_rest (ldfile, 1);
+
+ if (collate->else_action != else_ignore
+ && collate->else_action != else_seen)
+ lr_error (ldfile, _("\
+%s: 'endif' without matching 'ifdef' or 'ifndef'"), "LC_COLLATE");
+
+ /* XXX If we support nested preprocessor directives we pop
+ the state here. */
+ collate->else_action = else_none;
+ break;
+
default:
err_label:
SYNTAX_ERROR (_("%s: syntax error"), "LC_COLLATE");
@@ -3848,6 +4112,7 @@ error while adding equivalent collating symbol"));
nowtok = now->tok;
}
+ seen_eof:
/* When we come here we reached the end of the file. */
lr_error (ldfile, _("%s: premature end of file"), "LC_COLLATE");
}
diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h
index c883842b3c..c0f9ce7810 100644
--- a/locale/programs/locfile-kw.h
+++ b/locale/programs/locfile-kw.h
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.1 */
+/* ANSI-C code produced by gperf version 3.0.2 */
/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
@@ -30,7 +30,7 @@
#line 1 "locfile-kw.gperf"
-/* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000,2005,2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
@@ -51,15 +51,15 @@
#include <string.h>
#include "locfile-token.h"
-#line 23 "locfile-kw.gperf"
+#line 24 "locfile-kw.gperf"
struct keyword_t ;
-#define TOTAL_KEYWORDS 175
+#define TOTAL_KEYWORDS 176
#define MIN_WORD_LENGTH 3
#define MAX_WORD_LENGTH 22
#define MIN_HASH_VALUE 3
-#define MAX_HASH_VALUE 610
-/* maximum key range = 608, duplicates = 0 */
+#define MAX_HASH_VALUE 630
+/* maximum key range = 628, duplicates = 0 */
#ifdef __GNUC__
__inline
@@ -73,32 +73,32 @@ hash (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 5, 0, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 5, 611, 0, 0, 0,
- 0, 0, 10, 0, 611, 611, 0, 611, 0, 5,
- 611, 611, 0, 0, 0, 10, 611, 611, 611, 0,
- 611, 611, 611, 611, 611, 0, 611, 145, 105, 25,
- 15, 0, 190, 110, 10, 35, 611, 0, 80, 65,
- 5, 130, 40, 50, 5, 0, 10, 35, 50, 20,
- 5, 10, 0, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611, 611, 611, 611, 611,
- 611, 611, 611, 611, 611, 611
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 5, 0, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 5, 631, 0, 0, 0,
+ 0, 0, 10, 0, 631, 631, 0, 631, 0, 5,
+ 631, 631, 0, 0, 0, 10, 631, 631, 631, 0,
+ 631, 631, 631, 631, 631, 0, 631, 145, 80, 25,
+ 15, 0, 180, 105, 10, 35, 631, 50, 80, 160,
+ 5, 130, 40, 45, 5, 0, 10, 35, 40, 35,
+ 5, 10, 0, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631, 631, 631, 631, 631,
+ 631, 631, 631, 631, 631, 631
};
register int hval = len;
@@ -134,470 +134,472 @@ locfile_hash (register const char *str, register unsigned int len)
static const struct keyword_t wordlist[] =
{
{""}, {""}, {""},
-#line 30 "locfile-kw.gperf"
+#line 31 "locfile-kw.gperf"
{"END", tok_end, 0},
{""}, {""},
-#line 69 "locfile-kw.gperf"
+#line 70 "locfile-kw.gperf"
{"IGNORE", tok_ignore, 0},
-#line 127 "locfile-kw.gperf"
+#line 129 "locfile-kw.gperf"
{"LC_TIME", tok_lc_time, 0},
-#line 29 "locfile-kw.gperf"
+#line 30 "locfile-kw.gperf"
{"LC_CTYPE", tok_lc_ctype, 0},
{""},
-#line 164 "locfile-kw.gperf"
+#line 166 "locfile-kw.gperf"
{"LC_ADDRESS", tok_lc_address, 0},
-#line 149 "locfile-kw.gperf"
+#line 151 "locfile-kw.gperf"
{"LC_MESSAGES", tok_lc_messages, 0},
-#line 157 "locfile-kw.gperf"
+#line 159 "locfile-kw.gperf"
{"LC_NAME", tok_lc_name, 0},
-#line 154 "locfile-kw.gperf"
+#line 156 "locfile-kw.gperf"
{"LC_PAPER", tok_lc_paper, 0},
-#line 182 "locfile-kw.gperf"
+#line 184 "locfile-kw.gperf"
{"LC_MEASUREMENT", tok_lc_measurement, 0},
-#line 55 "locfile-kw.gperf"
+#line 56 "locfile-kw.gperf"
{"LC_COLLATE", tok_lc_collate, 0},
{""},
-#line 184 "locfile-kw.gperf"
+#line 186 "locfile-kw.gperf"
{"LC_IDENTIFICATION", tok_lc_identification, 0},
-#line 197 "locfile-kw.gperf"
+#line 199 "locfile-kw.gperf"
{"revision", tok_revision, 0},
-#line 68 "locfile-kw.gperf"
+#line 69 "locfile-kw.gperf"
{"UNDEFINED", tok_undefined, 0},
-#line 123 "locfile-kw.gperf"
+#line 125 "locfile-kw.gperf"
{"LC_NUMERIC", tok_lc_numeric, 0},
-#line 80 "locfile-kw.gperf"
+#line 82 "locfile-kw.gperf"
{"LC_MONETARY", tok_lc_monetary, 0},
-#line 177 "locfile-kw.gperf"
+#line 179 "locfile-kw.gperf"
{"LC_TELEPHONE", tok_lc_telephone, 0},
- {""},
-#line 130 "locfile-kw.gperf"
- {"week", tok_week, 0},
- {""},
-#line 74 "locfile-kw.gperf"
+ {""}, {""}, {""},
+#line 75 "locfile-kw.gperf"
{"define", tok_define, 0},
-#line 150 "locfile-kw.gperf"
+#line 152 "locfile-kw.gperf"
{"yesexpr", tok_yesexpr, 0},
-#line 139 "locfile-kw.gperf"
+#line 141 "locfile-kw.gperf"
{"era_year", tok_era_year, 0},
{""},
-#line 53 "locfile-kw.gperf"
+#line 54 "locfile-kw.gperf"
{"translit_ignore", tok_translit_ignore, 0},
-#line 152 "locfile-kw.gperf"
+#line 154 "locfile-kw.gperf"
{"yesstr", tok_yesstr, 0},
{""},
-#line 87 "locfile-kw.gperf"
+#line 89 "locfile-kw.gperf"
{"negative_sign", tok_negative_sign, 0},
{""},
-#line 135 "locfile-kw.gperf"
+#line 137 "locfile-kw.gperf"
{"t_fmt", tok_t_fmt, 0},
-#line 155 "locfile-kw.gperf"
+#line 157 "locfile-kw.gperf"
{"height", tok_height, 0},
{""}, {""},
-#line 51 "locfile-kw.gperf"
+#line 52 "locfile-kw.gperf"
{"translit_start", tok_translit_start, 0},
-#line 134 "locfile-kw.gperf"
+#line 136 "locfile-kw.gperf"
{"d_fmt", tok_d_fmt, 0},
{""},
-#line 52 "locfile-kw.gperf"
+#line 53 "locfile-kw.gperf"
{"translit_end", tok_translit_end, 0},
-#line 92 "locfile-kw.gperf"
+#line 94 "locfile-kw.gperf"
{"n_cs_precedes", tok_n_cs_precedes, 0},
-#line 142 "locfile-kw.gperf"
+#line 144 "locfile-kw.gperf"
{"era_t_fmt", tok_era_t_fmt, 0},
-#line 38 "locfile-kw.gperf"
+#line 39 "locfile-kw.gperf"
{"space", tok_space, 0},
-#line 71 "locfile-kw.gperf"
- {"reorder-end", tok_reorder_end, 0},
#line 72 "locfile-kw.gperf"
+ {"reorder-end", tok_reorder_end, 0},
+#line 73 "locfile-kw.gperf"
{"reorder-sections-after", tok_reorder_sections_after, 0},
{""},
-#line 140 "locfile-kw.gperf"
+#line 142 "locfile-kw.gperf"
{"era_d_fmt", tok_era_d_fmt, 0},
-#line 185 "locfile-kw.gperf"
+#line 187 "locfile-kw.gperf"
{"title", tok_title, 0},
{""}, {""},
-#line 147 "locfile-kw.gperf"
+#line 149 "locfile-kw.gperf"
{"timezone", tok_timezone, 0},
{""},
-#line 73 "locfile-kw.gperf"
+#line 74 "locfile-kw.gperf"
{"reorder-sections-end", tok_reorder_sections_end, 0},
{""}, {""}, {""},
-#line 93 "locfile-kw.gperf"
+#line 95 "locfile-kw.gperf"
{"n_sep_by_space", tok_n_sep_by_space, 0},
{""}, {""},
-#line 98 "locfile-kw.gperf"
+#line 100 "locfile-kw.gperf"
{"int_n_cs_precedes", tok_int_n_cs_precedes, 0},
{""}, {""}, {""},
-#line 25 "locfile-kw.gperf"
+#line 26 "locfile-kw.gperf"
{"escape_char", tok_escape_char, 0},
{""},
-#line 27 "locfile-kw.gperf"
+#line 28 "locfile-kw.gperf"
{"repertoiremap", tok_repertoiremap, 0},
-#line 45 "locfile-kw.gperf"
+#line 46 "locfile-kw.gperf"
{"charclass", tok_charclass, 0},
-#line 42 "locfile-kw.gperf"
- {"print", tok_print, 0},
#line 43 "locfile-kw.gperf"
+ {"print", tok_print, 0},
+#line 44 "locfile-kw.gperf"
{"xdigit", tok_xdigit, 0},
-#line 108 "locfile-kw.gperf"
+#line 110 "locfile-kw.gperf"
{"duo_n_cs_precedes", tok_duo_n_cs_precedes, 0},
-#line 125 "locfile-kw.gperf"
+#line 127 "locfile-kw.gperf"
{"thousands_sep", tok_thousands_sep, 0},
-#line 193 "locfile-kw.gperf"
+#line 195 "locfile-kw.gperf"
{"territory", tok_territory, 0},
-#line 35 "locfile-kw.gperf"
+#line 36 "locfile-kw.gperf"
{"digit", tok_digit, 0},
{""}, {""},
-#line 90 "locfile-kw.gperf"
+#line 92 "locfile-kw.gperf"
{"p_cs_precedes", tok_p_cs_precedes, 0},
- {""},
-#line 156 "locfile-kw.gperf"
- {"width", tok_width, 0},
-#line 61 "locfile-kw.gperf"
+ {""}, {""},
+#line 62 "locfile-kw.gperf"
{"script", tok_script, 0},
-#line 28 "locfile-kw.gperf"
+#line 29 "locfile-kw.gperf"
{"include", tok_include, 0},
{""},
-#line 77 "locfile-kw.gperf"
+#line 78 "locfile-kw.gperf"
{"else", tok_else, 0},
-#line 180 "locfile-kw.gperf"
+#line 182 "locfile-kw.gperf"
{"int_select", tok_int_select, 0},
- {""}, {""}, {""}, {""},
-#line 32 "locfile-kw.gperf"
+ {""}, {""}, {""},
+#line 132 "locfile-kw.gperf"
+ {"week", tok_week, 0},
+#line 33 "locfile-kw.gperf"
{"upper", tok_upper, 0},
{""}, {""},
-#line 190 "locfile-kw.gperf"
+#line 192 "locfile-kw.gperf"
{"tel", tok_tel, 0},
-#line 91 "locfile-kw.gperf"
+#line 93 "locfile-kw.gperf"
{"p_sep_by_space", tok_p_sep_by_space, 0},
- {""}, {""},
-#line 96 "locfile-kw.gperf"
+#line 158 "locfile-kw.gperf"
+ {"width", tok_width, 0},
+ {""},
+#line 98 "locfile-kw.gperf"
{"int_p_cs_precedes", tok_int_p_cs_precedes, 0},
{""}, {""},
-#line 40 "locfile-kw.gperf"
+#line 41 "locfile-kw.gperf"
{"punct", tok_punct, 0},
{""}, {""},
-#line 99 "locfile-kw.gperf"
+#line 101 "locfile-kw.gperf"
{"int_n_sep_by_space", tok_int_n_sep_by_space, 0},
{""}, {""}, {""},
-#line 106 "locfile-kw.gperf"
+#line 108 "locfile-kw.gperf"
{"duo_p_cs_precedes", tok_duo_p_cs_precedes, 0},
- {""}, {""},
-#line 46 "locfile-kw.gperf"
+#line 48 "locfile-kw.gperf"
+ {"charconv", tok_charconv, 0},
+ {""},
+#line 47 "locfile-kw.gperf"
{"class", tok_class, 0},
-#line 112 "locfile-kw.gperf"
+#line 114 "locfile-kw.gperf"
{"duo_int_n_cs_precedes", tok_duo_int_n_cs_precedes, 0},
-#line 113 "locfile-kw.gperf"
+#line 115 "locfile-kw.gperf"
{"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
-#line 109 "locfile-kw.gperf"
+#line 111 "locfile-kw.gperf"
{"duo_n_sep_by_space", tok_duo_n_sep_by_space, 0},
-#line 117 "locfile-kw.gperf"
+#line 119 "locfile-kw.gperf"
{"duo_int_n_sign_posn", tok_duo_int_n_sign_posn, 0},
- {""}, {""}, {""},
-#line 47 "locfile-kw.gperf"
- {"charconv", tok_charconv, 0},
- {""}, {""},
-#line 183 "locfile-kw.gperf"
- {"measurement", tok_measurement, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 57 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""},
+#line 58 "locfile-kw.gperf"
{"section-symbol", tok_section_symbol, 0},
-#line 181 "locfile-kw.gperf"
+#line 183 "locfile-kw.gperf"
{"int_prefix", tok_int_prefix, 0},
{""}, {""}, {""}, {""},
-#line 137 "locfile-kw.gperf"
- {"t_fmt_ampm", tok_t_fmt_ampm, 0},
- {""}, {""},
-#line 97 "locfile-kw.gperf"
- {"int_p_sep_by_space", tok_int_p_sep_by_space, 0},
- {""},
-#line 41 "locfile-kw.gperf"
+#line 42 "locfile-kw.gperf"
{"graph", tok_graph, 0},
{""}, {""},
-#line 124 "locfile-kw.gperf"
- {"decimal_point", tok_decimal_point, 0},
- {""}, {""},
-#line 110 "locfile-kw.gperf"
+#line 99 "locfile-kw.gperf"
+ {"int_p_sep_by_space", tok_int_p_sep_by_space, 0},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 112 "locfile-kw.gperf"
{"duo_int_p_cs_precedes", tok_duo_int_p_cs_precedes, 0},
-#line 111 "locfile-kw.gperf"
+#line 113 "locfile-kw.gperf"
{"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
-#line 107 "locfile-kw.gperf"
+#line 109 "locfile-kw.gperf"
{"duo_p_sep_by_space", tok_duo_p_sep_by_space, 0},
-#line 116 "locfile-kw.gperf"
+#line 118 "locfile-kw.gperf"
{"duo_int_p_sign_posn", tok_duo_int_p_sign_posn, 0},
-#line 153 "locfile-kw.gperf"
+#line 155 "locfile-kw.gperf"
{"nostr", tok_nostr, 0},
{""}, {""},
-#line 138 "locfile-kw.gperf"
+#line 140 "locfile-kw.gperf"
{"era", tok_era, 0},
{""},
-#line 82 "locfile-kw.gperf"
+#line 84 "locfile-kw.gperf"
{"currency_symbol", tok_currency_symbol, 0},
{""},
-#line 163 "locfile-kw.gperf"
+#line 165 "locfile-kw.gperf"
{"name_ms", tok_name_ms, 0},
-#line 161 "locfile-kw.gperf"
+#line 163 "locfile-kw.gperf"
{"name_mrs", tok_name_mrs, 0},
-#line 162 "locfile-kw.gperf"
+#line 164 "locfile-kw.gperf"
{"name_miss", tok_name_miss, 0},
-#line 81 "locfile-kw.gperf"
+#line 83 "locfile-kw.gperf"
{"int_curr_symbol", tok_int_curr_symbol, 0},
-#line 186 "locfile-kw.gperf"
+#line 188 "locfile-kw.gperf"
{"source", tok_source, 0},
-#line 160 "locfile-kw.gperf"
+#line 162 "locfile-kw.gperf"
{"name_mr", tok_name_mr, 0},
-#line 159 "locfile-kw.gperf"
+#line 161 "locfile-kw.gperf"
{"name_gen", tok_name_gen, 0},
-#line 198 "locfile-kw.gperf"
+#line 200 "locfile-kw.gperf"
{"date", tok_date, 0},
{""}, {""},
-#line 187 "locfile-kw.gperf"
+#line 189 "locfile-kw.gperf"
{"address", tok_address, 0},
-#line 158 "locfile-kw.gperf"
+#line 160 "locfile-kw.gperf"
{"name_fmt", tok_name_fmt, 0},
-#line 31 "locfile-kw.gperf"
+#line 32 "locfile-kw.gperf"
{"copy", tok_copy, 0},
- {""}, {""},
-#line 49 "locfile-kw.gperf"
- {"tolower", tok_tolower, 0},
-#line 129 "locfile-kw.gperf"
- {"day", tok_day, 0},
#line 103 "locfile-kw.gperf"
- {"duo_currency_symbol", tok_duo_currency_symbol, 0},
-#line 101 "locfile-kw.gperf"
{"int_n_sign_posn", tok_int_n_sign_posn, 0},
{""}, {""},
-#line 148 "locfile-kw.gperf"
+#line 131 "locfile-kw.gperf"
+ {"day", tok_day, 0},
+#line 105 "locfile-kw.gperf"
+ {"duo_currency_symbol", tok_duo_currency_symbol, 0},
+ {""}, {""}, {""},
+#line 150 "locfile-kw.gperf"
{"date_fmt", tok_date_fmt, 0},
-#line 63 "locfile-kw.gperf"
+#line 64 "locfile-kw.gperf"
{"order_end", tok_order_end, 0},
- {""}, {""},
-#line 166 "locfile-kw.gperf"
+#line 117 "locfile-kw.gperf"
+ {"duo_n_sign_posn", tok_duo_n_sign_posn, 0},
+ {""},
+#line 168 "locfile-kw.gperf"
{"country_name", tok_country_name, 0},
-#line 70 "locfile-kw.gperf"
+#line 71 "locfile-kw.gperf"
{"reorder-after", tok_reorder_after, 0},
-#line 118 "locfile-kw.gperf"
- {"uno_valid_from", tok_uno_valid_from, 0},
-#line 115 "locfile-kw.gperf"
- {"duo_n_sign_posn", tok_duo_n_sign_posn, 0},
-#line 151 "locfile-kw.gperf"
+ {""}, {""},
+#line 153 "locfile-kw.gperf"
{"noexpr", tok_noexpr, 0},
- {""},
-#line 194 "locfile-kw.gperf"
+#line 50 "locfile-kw.gperf"
+ {"tolower", tok_tolower, 0},
+#line 196 "locfile-kw.gperf"
{"audience", tok_audience, 0},
- {""},
-#line 44 "locfile-kw.gperf"
- {"blank", tok_blank, 0},
- {""},
-#line 48 "locfile-kw.gperf"
+ {""}, {""}, {""},
+#line 49 "locfile-kw.gperf"
{"toupper", tok_toupper, 0},
-#line 67 "locfile-kw.gperf"
+#line 68 "locfile-kw.gperf"
{"position", tok_position, 0},
-#line 120 "locfile-kw.gperf"
- {"duo_valid_from", tok_duo_valid_from, 0},
-#line 39 "locfile-kw.gperf"
+ {""},
+#line 40 "locfile-kw.gperf"
{"cntrl", tok_cntrl, 0},
{""},
-#line 26 "locfile-kw.gperf"
+#line 27 "locfile-kw.gperf"
{"comment_char", tok_comment_char, 0},
-#line 86 "locfile-kw.gperf"
+#line 88 "locfile-kw.gperf"
{"positive_sign", tok_positive_sign, 0},
{""}, {""}, {""}, {""},
-#line 132 "locfile-kw.gperf"
- {"mon", tok_mon, 0},
- {""}, {""},
-#line 171 "locfile-kw.gperf"
- {"country_car", tok_country_car, 0},
- {""},
-#line 60 "locfile-kw.gperf"
+#line 61 "locfile-kw.gperf"
{"symbol-equivalence", tok_symbol_equivalence, 0},
+ {""},
#line 102 "locfile-kw.gperf"
- {"duo_int_curr_symbol", tok_duo_int_curr_symbol, 0},
-#line 100 "locfile-kw.gperf"
{"int_p_sign_posn", tok_int_p_sign_posn, 0},
- {""}, {""}, {""}, {""}, {""}, {""},
-#line 172 "locfile-kw.gperf"
+#line 173 "locfile-kw.gperf"
+ {"country_car", tok_country_car, 0},
+ {""}, {""},
+#line 104 "locfile-kw.gperf"
+ {"duo_int_curr_symbol", tok_duo_int_curr_symbol, 0},
+ {""}, {""},
+#line 135 "locfile-kw.gperf"
+ {"d_t_fmt", tok_d_t_fmt, 0},
+ {""}, {""},
+#line 116 "locfile-kw.gperf"
+ {"duo_p_sign_posn", tok_duo_p_sign_posn, 0},
+#line 185 "locfile-kw.gperf"
+ {"measurement", tok_measurement, 0},
+#line 174 "locfile-kw.gperf"
{"country_isbn", tok_country_isbn, 0},
-#line 36 "locfile-kw.gperf"
+#line 37 "locfile-kw.gperf"
{"outdigit", tok_outdigit, 0},
- {""},
-#line 114 "locfile-kw.gperf"
- {"duo_p_sign_posn", tok_duo_p_sign_posn, 0},
- {""},
-#line 133 "locfile-kw.gperf"
- {"d_t_fmt", tok_d_t_fmt, 0},
{""}, {""},
-#line 33 "locfile-kw.gperf"
+#line 143 "locfile-kw.gperf"
+ {"era_d_t_fmt", tok_era_d_t_fmt, 0},
+ {""}, {""}, {""},
+#line 34 "locfile-kw.gperf"
{"lower", tok_lower, 0},
- {""},
-#line 167 "locfile-kw.gperf"
+#line 181 "locfile-kw.gperf"
+ {"tel_dom_fmt", tok_tel_dom_fmt, 0},
+#line 169 "locfile-kw.gperf"
{"country_post", tok_country_post, 0},
-#line 146 "locfile-kw.gperf"
+#line 148 "locfile-kw.gperf"
{"cal_direction", tok_cal_direction, 0},
{""},
-#line 189 "locfile-kw.gperf"
- {"email", tok_email, 0},
-#line 141 "locfile-kw.gperf"
- {"era_d_t_fmt", tok_era_d_t_fmt, 0},
+#line 139 "locfile-kw.gperf"
+ {"t_fmt_ampm", tok_t_fmt_ampm, 0},
+#line 91 "locfile-kw.gperf"
+ {"frac_digits", tok_frac_digits, 0},
{""}, {""},
-#line 173 "locfile-kw.gperf"
+#line 175 "locfile-kw.gperf"
{"lang_name", tok_lang_name, 0},
- {""},
-#line 179 "locfile-kw.gperf"
- {"tel_dom_fmt", tok_tel_dom_fmt, 0},
- {""}, {""}, {""},
-#line 54 "locfile-kw.gperf"
- {"default_missing", tok_default_missing, 0},
-#line 89 "locfile-kw.gperf"
- {"frac_digits", tok_frac_digits, 0},
- {""}, {""}, {""},
-#line 88 "locfile-kw.gperf"
+#line 90 "locfile-kw.gperf"
{"int_frac_digits", tok_int_frac_digits, 0},
-#line 170 "locfile-kw.gperf"
- {"country_num", tok_country_num, 0},
-#line 119 "locfile-kw.gperf"
+ {""},
+#line 121 "locfile-kw.gperf"
{"uno_valid_to", tok_uno_valid_to, 0},
- {""}, {""}, {""}, {""}, {""},
-#line 50 "locfile-kw.gperf"
- {"map", tok_map, 0},
+#line 126 "locfile-kw.gperf"
+ {"decimal_point", tok_decimal_point, 0},
{""},
-#line 105 "locfile-kw.gperf"
+#line 133 "locfile-kw.gperf"
+ {"abmon", tok_abmon, 0},
+ {""}, {""}, {""}, {""},
+#line 107 "locfile-kw.gperf"
{"duo_frac_digits", tok_duo_frac_digits, 0},
-#line 178 "locfile-kw.gperf"
+#line 180 "locfile-kw.gperf"
{"tel_int_fmt", tok_tel_int_fmt, 0},
-#line 121 "locfile-kw.gperf"
+#line 123 "locfile-kw.gperf"
{"duo_valid_to", tok_duo_valid_to, 0},
-#line 144 "locfile-kw.gperf"
+#line 146 "locfile-kw.gperf"
{"first_weekday", tok_first_weekday, 0},
{""},
-#line 143 "locfile-kw.gperf"
- {"alt_digits", tok_alt_digits, 0},
-#line 95 "locfile-kw.gperf"
+#line 130 "locfile-kw.gperf"
+ {"abday", tok_abday, 0},
+ {""},
+#line 198 "locfile-kw.gperf"
+ {"abbreviation", tok_abbreviation, 0},
+#line 147 "locfile-kw.gperf"
+ {"first_workday", tok_first_workday, 0},
+ {""}, {""},
+#line 97 "locfile-kw.gperf"
{"n_sign_posn", tok_n_sign_posn, 0},
-#line 84 "locfile-kw.gperf"
- {"mon_thousands_sep", tok_mon_thousands_sep, 0},
+ {""}, {""}, {""},
#line 145 "locfile-kw.gperf"
- {"first_workday", tok_first_workday, 0},
-#line 64 "locfile-kw.gperf"
- {"from", tok_from, 0},
-#line 131 "locfile-kw.gperf"
- {"abmon", tok_abmon, 0},
+ {"alt_digits", tok_alt_digits, 0},
{""}, {""},
-#line 192 "locfile-kw.gperf"
- {"language", tok_language, 0},
+#line 128 "locfile-kw.gperf"
+ {"grouping", tok_grouping, 0},
+ {""},
+#line 45 "locfile-kw.gperf"
+ {"blank", tok_blank, 0},
{""}, {""},
-#line 195 "locfile-kw.gperf"
- {"application", tok_application, 0},
+#line 194 "locfile-kw.gperf"
+ {"language", tok_language, 0},
+#line 120 "locfile-kw.gperf"
+ {"uno_valid_from", tok_uno_valid_from, 0},
{""},
-#line 126 "locfile-kw.gperf"
- {"grouping", tok_grouping, 0},
-#line 78 "locfile-kw.gperf"
- {"elif", tok_elif, 0},
-#line 128 "locfile-kw.gperf"
- {"abday", tok_abday, 0},
+#line 197 "locfile-kw.gperf"
+ {"application", tok_application, 0},
{""},
-#line 196 "locfile-kw.gperf"
- {"abbreviation", tok_abbreviation, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 56 "locfile-kw.gperf"
+#line 80 "locfile-kw.gperf"
+ {"elifndef", tok_elifndef, 0},
+ {""}, {""}, {""}, {""}, {""},
+#line 122 "locfile-kw.gperf"
+ {"duo_valid_from", tok_duo_valid_from, 0},
+#line 57 "locfile-kw.gperf"
{"coll_weight_max", tok_coll_weight_max, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 66 "locfile-kw.gperf"
+ {""},
+#line 79 "locfile-kw.gperf"
+ {"elifdef", tok_elifdef, 0},
+#line 67 "locfile-kw.gperf"
{"backward", tok_backward, 0},
-#line 104 "locfile-kw.gperf"
+#line 106 "locfile-kw.gperf"
{"duo_int_frac_digits", tok_duo_int_frac_digits, 0},
- {""},
-#line 94 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""}, {""},
+#line 96 "locfile-kw.gperf"
{"p_sign_posn", tok_p_sign_posn, 0},
{""},
-#line 199 "locfile-kw.gperf"
+#line 201 "locfile-kw.gperf"
{"category", tok_category, 0},
+ {""}, {""}, {""}, {""},
+#line 134 "locfile-kw.gperf"
+ {"mon", tok_mon, 0},
{""},
-#line 122 "locfile-kw.gperf"
+#line 124 "locfile-kw.gperf"
{"conversion_rate", tok_conversion_rate, 0},
- {""},
-#line 83 "locfile-kw.gperf"
- {"mon_decimal_point", tok_mon_decimal_point, 0},
- {""}, {""}, {""},
-#line 62 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""},
+#line 63 "locfile-kw.gperf"
{"order_start", tok_order_start, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
-#line 188 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""},
+#line 176 "locfile-kw.gperf"
+ {"lang_ab", tok_lang_ab, 0},
+#line 178 "locfile-kw.gperf"
+ {"lang_lib", tok_lang_lib, 0},
+ {""}, {""}, {""},
+#line 190 "locfile-kw.gperf"
{"contact", tok_contact, 0},
{""}, {""}, {""},
-#line 169 "locfile-kw.gperf"
+#line 171 "locfile-kw.gperf"
{"country_ab3", tok_country_ab3, 0},
- {""}, {""}, {""}, {""},
-#line 168 "locfile-kw.gperf"
- {"country_ab2", tok_country_ab2, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
-#line 174 "locfile-kw.gperf"
- {"lang_ab", tok_lang_ab, 0},
-#line 176 "locfile-kw.gperf"
- {"lang_lib", tok_lang_lib, 0},
- {""}, {""}, {""}, {""},
+ {""}, {""}, {""},
#line 191 "locfile-kw.gperf"
+ {"email", tok_email, 0},
+#line 170 "locfile-kw.gperf"
+ {"country_ab2", tok_country_ab2, 0},
+ {""}, {""}, {""},
+#line 55 "locfile-kw.gperf"
+ {"default_missing", tok_default_missing, 0},
+ {""}, {""},
+#line 193 "locfile-kw.gperf"
{"fax", tok_fax, 0},
- {""},
-#line 136 "locfile-kw.gperf"
- {"am_pm", tok_am_pm, 0},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 172 "locfile-kw.gperf"
+ {"country_num", tok_country_num, 0},
+ {""}, {""}, {""}, {""}, {""}, {""},
+#line 51 "locfile-kw.gperf"
+ {"map", tok_map, 0},
+#line 65 "locfile-kw.gperf"
+ {"from", tok_from, 0},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 86 "locfile-kw.gperf"
+ {"mon_thousands_sep", tok_mon_thousands_sep, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""},
-#line 37 "locfile-kw.gperf"
- {"alnum", tok_alnum, 0},
{""}, {""}, {""},
-#line 175 "locfile-kw.gperf"
- {"lang_term", tok_lang_term, 0},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 79 "locfile-kw.gperf"
+#line 81 "locfile-kw.gperf"
{"endif", tok_endif, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 165 "locfile-kw.gperf"
- {"postal_fmt", tok_postal_fmt, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""},
-#line 75 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 76 "locfile-kw.gperf"
{"undef", tok_undef, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
-#line 58 "locfile-kw.gperf"
- {"collating-element", tok_collating_element, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 59 "locfile-kw.gperf"
+ {"collating-element", tok_collating_element, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""},
-#line 85 "locfile-kw.gperf"
- {"mon_grouping", tok_mon_grouping, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""},
-#line 65 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 66 "locfile-kw.gperf"
{"forward", tok_forward, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 59 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""},
+#line 85 "locfile-kw.gperf"
+ {"mon_decimal_point", tok_mon_decimal_point, 0},
+ {""}, {""},
+#line 167 "locfile-kw.gperf"
+ {"postal_fmt", tok_postal_fmt, 0},
+ {""}, {""}, {""}, {""}, {""},
+#line 60 "locfile-kw.gperf"
{"collating-symbol", tok_collating_symbol, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""},
-#line 34 "locfile-kw.gperf"
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 35 "locfile-kw.gperf"
{"alpha", tok_alpha, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""},
+#line 38 "locfile-kw.gperf"
+ {"alnum", tok_alnum, 0},
+ {""},
+#line 87 "locfile-kw.gperf"
+ {"mon_grouping", tok_mon_grouping, 0},
+ {""},
+#line 177 "locfile-kw.gperf"
+ {"lang_term", tok_lang_term, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""}, {""}, {""}, {""},
+#line 77 "locfile-kw.gperf"
+ {"ifdef", tok_ifdef, 0},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
- {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 76 "locfile-kw.gperf"
- {"ifdef", tok_ifdef, 0}
+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
+ {""}, {""}, {""}, {""},
+#line 138 "locfile-kw.gperf"
+ {"am_pm", tok_am_pm, 0}
};
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index a14908d5a2..934f5d4ee4 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,10 @@
+2007-10-10 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/iso14651_t1_common: If DIACRIT_FORWARD is defined, define
+ second level of <LATIN> script as forward.
+ * locales/de_DE: Define DIACRIT_FORWARD.
+ * de_DE.in: Revert last change.
+
2007-10-10 Jakub Jelinek <jakub@redhat.com>
* locales/en_US: Add first_weekday and first_workday.
diff --git a/localedata/de_DE.in b/localedata/de_DE.in
index b3b0dac29e..c56f401f64 100644
--- a/localedata/de_DE.in
+++ b/localedata/de_DE.in
@@ -40,8 +40,8 @@ Füße (pl. of "Fuß") : feet
Fussel : fluff
fusseln : to wear of fluff
füßeln : play footsie [under the table]
-Füssen : Füssen (town)
fußen : to be based [on]
+Füssen : Füssen (town)
Füßen (dat. pl. of "Fuß") : [to the] feet
in Massen : in large numbers
in Maßen : moderately
@@ -49,9 +49,9 @@ Masern : measels
Mass. (Massachusetts) : Massachusetts (state)
Maß : measure
Masse : mass
+Massé : (particular billard stroke)
Maße (pl. of "Maß") : measures
mäße (pres. conj. of "messen") : take measure (e.g. in indirect speech)
-Massé : (particular billard stroke)
Massen- : mass; wholesale; bulk (in compound nouns)
massig : massive
mäßig : moderate; modest
@@ -60,8 +60,8 @@ Miß : Miss
Passe : yoke (of dress)
passé : over, gone
Schlagerforderung : claim, demanded in a pop song
-Schlägerforderung : demand of a hooligan
Schlagerförderung : promotion of pop music
+Schlägerforderung : demand of a hooligan
Schlägerförderung : promotion of hooliganism :-)
Schurz : apron
Schürze : apron
diff --git a/localedata/locales/de_DE b/localedata/locales/de_DE
index 1298854b01..a694dc2888 100644
--- a/localedata/locales/de_DE
+++ b/localedata/locales/de_DE
@@ -76,6 +76,8 @@ END LC_CTYPE
LC_COLLATE
+define DIACRIT_FORWARD
+
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index 14b290c666..b5951f9e8c 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -1121,7 +1121,11 @@ order_start <SPECIAL>;forward;backward;forward;forward,position
<U009E> IGNORE;IGNORE;IGNORE;<U009E>
<U009F> IGNORE;IGNORE;IGNORE;<U009F>
+ifdef DIACRIT_FORWARD
+order_start <LATIN>;forward;forward;forward;forward,position
+else
order_start <LATIN>;forward;backward;forward;forward,position
+endif
#
<U00A0> <U0020>;<BAS>;<MIN>;IGNORE # 170<NBSP>
#