diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 0cd378f21b..1332660fb7 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -2660,7 +2660,6 @@ collate_read (struct linereader *ldfile, struct localedef_t *result, if (nowtok == tok_copy) { - state = 2; now = lr_token (ldfile, charmap, result, NULL, verbose); if (now->tok != tok_string) { @@ -3327,7 +3326,9 @@ error while adding equivalent collating symbol")); was_ellipsis = tok_none; } } - else if (state != 2 && state != 3) + else if (state == 0 && copy_locale == NULL) + goto err_label; + else if (state != 0 && state != 2 && state != 3) goto err_label; state = 3; @@ -3796,7 +3797,7 @@ error while adding equivalent collating symbol")); /* Next we assume `LC_COLLATE'. */ if (!ignore_content) { - if (state == 0) + if (state == 0 && copy_locale == NULL) /* We must either see a copy statement or have ordering values. */ lr_error (ldfile, diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 4875125dae..3d287fe3ac 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,7 @@ +2007-10-01 Ulrich Drepper + + * locales/am_ET (LC_COLLATE): Define new script after copy. + 2007-09-30 Ulrich Drepper * locales/cs_SR: Removed. diff --git a/localedata/locales/am_ET b/localedata/locales/am_ET index eb40a9eac2..5aa2ca110a 100644 --- a/localedata/locales/am_ET +++ b/localedata/locales/am_ET @@ -56,14 +56,14 @@ END LC_IDENTIFICATION LC_COLLATE % -% The ETHIOPIC script declaration must come first. -% -script -% % Copy the template from ISO/IEC 14651 % copy "iso14651_t1" % +% The ETHIOPIC script declaration must come first. +% +script +% % Correcting Unicode's linguistic ordering to the traditional. % collating-symbol