summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--charclass_invlists.h212
-rw-r--r--lib/unicore/mktables13
-rw-r--r--lib/unicore/uni_keywords.pl2
-rw-r--r--regcharclass.h2
-rw-r--r--uni_keywords.h2
5 files changed, 147 insertions, 84 deletions
diff --git a/charclass_invlists.h b/charclass_invlists.h
index 05573bba0b..00f489c89e 100644
--- a/charclass_invlists.h
+++ b/charclass_invlists.h
@@ -184036,49 +184036,67 @@ static const UV UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist[] = { /* for EBCDIC 037
# if 'A' == 65 /* ASCII/Latin1 */
static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for ASCII/Latin1 */
- 39, /* Number of elements */
+ 57, /* Number of elements */
148565664, /* Version and data structure type */
1, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
0x0,
+ 0x61,
+ 0x62,
0x66,
0x67,
- 0x69,
- 0x6A,
- 0x6C,
- 0x6D,
- 0x6E,
- 0x6F,
+ 0x68,
+ 0x6B,
0x73,
0x75,
- 0x2BE,
- 0x2BF,
- 0x300,
- 0x302,
- 0x307,
+ 0x77,
+ 0x78,
+ 0x79,
+ 0x7A,
+ 0x2BC,
+ 0x2BD,
+ 0x308,
0x309,
- 0x30A,
- 0x30B,
- 0x30C,
- 0x30D,
0x313,
0x314,
- 0x331,
- 0x332,
0x342,
0x343,
+ 0x3AC,
+ 0x3AD,
+ 0x3AE,
+ 0x3AF,
+ 0x3B1,
+ 0x3B2,
+ 0x3B7,
+ 0x3B8,
0x3B9,
0x3BA,
+ 0x3C1,
+ 0x3C2,
+ 0x3C5,
+ 0x3C6,
+ 0x3C9,
+ 0x3CA,
+ 0x3CE,
+ 0x3CF,
0x565,
0x566,
- 0x56B,
- 0x56C,
- 0x56D,
- 0x56E,
- 0x576,
- 0x577,
- 0x582,
- 0x583
+ 0x574,
+ 0x575,
+ 0x57E,
+ 0x57F,
+ 0x1F00,
+ 0x1F08,
+ 0x1F20,
+ 0x1F28,
+ 0x1F60,
+ 0x1F68,
+ 0x1F70,
+ 0x1F71,
+ 0x1F74,
+ 0x1F75,
+ 0x1F7C,
+ 0x1F7D
};
# endif /* ASCII/Latin1 */
@@ -184089,49 +184107,69 @@ static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for ASCII/Latin1 */
&& '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21
static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for EBCDIC 1047 */
- 39, /* Number of elements */
+ 59, /* Number of elements */
148565664, /* Version and data structure type */
1, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
0x0,
+ 0x81,
+ 0x82,
0x86,
0x87,
- 0x89,
+ 0x88,
0x8A,
- 0x93,
- 0x94,
- 0x95,
- 0x96,
+ 0x91,
+ 0x92,
0xA2,
0xA4,
- 0x2BE,
- 0x2BF,
- 0x300,
- 0x302,
- 0x307,
+ 0xA6,
+ 0xA7,
+ 0xA8,
+ 0xA9,
+ 0x2BC,
+ 0x2BD,
+ 0x308,
0x309,
- 0x30A,
- 0x30B,
- 0x30C,
- 0x30D,
0x313,
0x314,
- 0x331,
- 0x332,
0x342,
0x343,
+ 0x3AC,
+ 0x3AD,
+ 0x3AE,
+ 0x3AF,
+ 0x3B1,
+ 0x3B2,
+ 0x3B7,
+ 0x3B8,
0x3B9,
0x3BA,
+ 0x3C1,
+ 0x3C2,
+ 0x3C5,
+ 0x3C6,
+ 0x3C9,
+ 0x3CA,
+ 0x3CE,
+ 0x3CF,
0x565,
0x566,
- 0x56B,
- 0x56C,
- 0x56D,
- 0x56E,
- 0x576,
- 0x577,
- 0x582,
- 0x583
+ 0x574,
+ 0x575,
+ 0x57E,
+ 0x57F,
+ 0x1F00,
+ 0x1F08,
+ 0x1F20,
+ 0x1F28,
+ 0x1F60,
+ 0x1F68,
+ 0x1F70,
+ 0x1F71,
+ 0x1F74,
+ 0x1F75,
+ 0x1F7C,
+ 0x1F7D
};
# endif /* EBCDIC 1047 */
@@ -184142,49 +184180,69 @@ static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for EBCDIC 1047 */
&& '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37
static const UV UNI__PERL_NON_FINAL_FOLDS_invlist[] = { /* for EBCDIC 037 */
- 39, /* Number of elements */
+ 59, /* Number of elements */
148565664, /* Version and data structure type */
1, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
0x0,
+ 0x81,
+ 0x82,
0x86,
0x87,
- 0x89,
+ 0x88,
0x8A,
- 0x93,
- 0x94,
- 0x95,
- 0x96,
+ 0x91,
+ 0x92,
0xA2,
0xA4,
- 0x2BE,
- 0x2BF,
- 0x300,
- 0x302,
- 0x307,
+ 0xA6,
+ 0xA7,
+ 0xA8,
+ 0xA9,
+ 0x2BC,
+ 0x2BD,
+ 0x308,
0x309,
- 0x30A,
- 0x30B,
- 0x30C,
- 0x30D,
0x313,
0x314,
- 0x331,
- 0x332,
0x342,
0x343,
+ 0x3AC,
+ 0x3AD,
+ 0x3AE,
+ 0x3AF,
+ 0x3B1,
+ 0x3B2,
+ 0x3B7,
+ 0x3B8,
0x3B9,
0x3BA,
+ 0x3C1,
+ 0x3C2,
+ 0x3C5,
+ 0x3C6,
+ 0x3C9,
+ 0x3CA,
+ 0x3CE,
+ 0x3CF,
0x565,
0x566,
- 0x56B,
- 0x56C,
- 0x56D,
- 0x56E,
- 0x576,
- 0x577,
- 0x582,
- 0x583
+ 0x574,
+ 0x575,
+ 0x57E,
+ 0x57F,
+ 0x1F00,
+ 0x1F08,
+ 0x1F20,
+ 0x1F28,
+ 0x1F60,
+ 0x1F68,
+ 0x1F70,
+ 0x1F71,
+ 0x1F74,
+ 0x1F75,
+ 0x1F7C,
+ 0x1F7D
};
# endif /* EBCDIC 037 */
@@ -395307,7 +395365,7 @@ static const U8 WB_table[23][23] = {
* 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt
* 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt
* 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt
- * 5214f368c189077a2a748b7ef0a5300abd0d012be568d18c1bbd8bede55818ae lib/unicore/mktables
+ * 0f310085a69b19f991fa1d8cf6e066d6c89d840b6238ec3c7c6e1059dc5dbe8b lib/unicore/mktables
* a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
* 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
* e9283c761c5a95e3379384ca47c13a284f08d743c2be6e5091f1152b1b6b7a37 regen/mk_PL_charclass.pl
diff --git a/lib/unicore/mktables b/lib/unicore/mktables
index 5f032b4ea4..2ed8ffd3f6 100644
--- a/lib/unicore/mktables
+++ b/lib/unicore/mktables
@@ -15038,9 +15038,14 @@ sub compile_perl() {
my $found_locale_problematic = 0;
+ my $folded_count = @hex_folds;
+ if ($folded_count > 3) {
+ die Carp::my_carp("Maximum number of characters in a fold should be 3: Instead, it's $folded_count for U+" . sprintf "%04X", $range->start);
+ }
+
# Look at each of the folded-to characters...
- foreach my $i (0 .. @hex_folds - 1) {
- my $cp = hex $hex_folds[$i];
+ foreach my $i (1 .. $folded_count) {
+ my $cp = hex $hex_folds[$i-1];
$any_folds->add_range($cp, $cp);
# The fold is problematic if any of the folded-to characters is
@@ -15050,9 +15055,9 @@ sub compile_perl() {
$found_locale_problematic = 1;
}
- if (@hex_folds > 1) {
+ if ($folded_count > 1) {
$in_multi_fold->add_range($cp, $cp);
- next if $i < @hex_folds - 1;
+ next if $i == $folded_count; # In final position
$non_final_fold->add_range($cp, $cp);
}
}
diff --git a/lib/unicore/uni_keywords.pl b/lib/unicore/uni_keywords.pl
index 45d2934ba2..4cc9ab46be 100644
--- a/lib/unicore/uni_keywords.pl
+++ b/lib/unicore/uni_keywords.pl
@@ -1261,7 +1261,7 @@
# 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt
# 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt
# 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt
-# 5214f368c189077a2a748b7ef0a5300abd0d012be568d18c1bbd8bede55818ae lib/unicore/mktables
+# 0f310085a69b19f991fa1d8cf6e066d6c89d840b6238ec3c7c6e1059dc5dbe8b lib/unicore/mktables
# a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
# 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
# e9283c761c5a95e3379384ca47c13a284f08d743c2be6e5091f1152b1b6b7a37 regen/mk_PL_charclass.pl
diff --git a/regcharclass.h b/regcharclass.h
index 0f51ade47e..e036c4742b 100644
--- a/regcharclass.h
+++ b/regcharclass.h
@@ -2245,7 +2245,7 @@
* 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt
* 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt
* 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt
- * 5214f368c189077a2a748b7ef0a5300abd0d012be568d18c1bbd8bede55818ae lib/unicore/mktables
+ * 0f310085a69b19f991fa1d8cf6e066d6c89d840b6238ec3c7c6e1059dc5dbe8b lib/unicore/mktables
* a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
* 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
* f9a393e7add8c7c2728356473ce5b52246d51295b2da0c48fb6f0aa21799e2bb regen/regcharclass.pl
diff --git a/uni_keywords.h b/uni_keywords.h
index eca8459d1d..f790d82dd8 100644
--- a/uni_keywords.h
+++ b/uni_keywords.h
@@ -7284,7 +7284,7 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) {
* 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt
* 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt
* 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt
- * 5214f368c189077a2a748b7ef0a5300abd0d012be568d18c1bbd8bede55818ae lib/unicore/mktables
+ * 0f310085a69b19f991fa1d8cf6e066d6c89d840b6238ec3c7c6e1059dc5dbe8b lib/unicore/mktables
* a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
* 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
* e9283c761c5a95e3379384ca47c13a284f08d743c2be6e5091f1152b1b6b7a37 regen/mk_PL_charclass.pl