Skip to content

Commit

Permalink
regen/mk_invlists.pl: inversion map requires a final entry
Browse files Browse the repository at this point in the history
Inversion maps are supposed to have an entry for what to do above the
Unicode range.  This subroutine crafts a custom map that was missing
that.
  • Loading branch information
khwilliamson committed Aug 26, 2019
1 parent 4caef9c commit 9a9a324
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 12 deletions.
26 changes: 16 additions & 10 deletions charclass_invlists.h
Original file line number Diff line number Diff line change
Expand Up @@ -29371,7 +29371,7 @@ static const GCB_enum _Perl_GCB_invmap[] = { /* for EBCDIC 037 */
# if 'A' == 65 /* ASCII/Latin1 */

static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */
1309, /* Number of elements */
1310, /* Number of elements */
148565664, /* Version and data structure type */
0, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
Expand Down Expand Up @@ -30683,7 +30683,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for ASCII/Latin1 */
0x118E0,
0x16E60,
0x16E80,
0x1E922
0x1E922,
0x1E944
};

# endif /* ASCII/Latin1 */
Expand Down Expand Up @@ -32243,7 +32244,8 @@ static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */
0,
0x16E40,
0,
0x1E900
0x1E900,
0
};

# endif /* ASCII/Latin1 */
Expand All @@ -32258,7 +32260,7 @@ static const int _Perl_IVCF_invmap[] = { /* for ASCII/Latin1 */
&& '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21

static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */
1323, /* Number of elements */
1324, /* Number of elements */
148565664, /* Version and data structure type */
0, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
Expand Down Expand Up @@ -33584,7 +33586,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 1047 */
0x118E0,
0x16E60,
0x16E80,
0x1E922
0x1E922,
0x1E944
};

# endif /* EBCDIC 1047 */
Expand Down Expand Up @@ -35161,7 +35164,8 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */
0,
0x16E40,
0,
0x1E900
0x1E900,
0
};

# endif /* EBCDIC 1047 */
Expand All @@ -35176,7 +35180,7 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 1047 */
&& '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37

static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */
1323, /* Number of elements */
1324, /* Number of elements */
148565664, /* Version and data structure type */
0, /* 0 if the list starts at 0;
1 if it starts at the element beyond 0 */
Expand Down Expand Up @@ -36502,7 +36506,8 @@ static const UV _Perl_IVCF_invlist[] = { /* for EBCDIC 037 */
0x118E0,
0x16E60,
0x16E80,
0x1E922
0x1E922,
0x1E944
};

# endif /* EBCDIC 037 */
Expand Down Expand Up @@ -38079,7 +38084,8 @@ static const int _Perl_IVCF_invmap[] = { /* for EBCDIC 037 */
0,
0x16E40,
0,
0x1E900
0x1E900,
0
};

# endif /* EBCDIC 037 */
Expand Down Expand Up @@ -395305,5 +395311,5 @@ static const U8 WB_table[23][23] = {
* a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
* 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
* 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
* 61ea8132bb9ea5c637609e2d026b0b85ce17d6bec544c2f08ce411e6f65e8386 regen/mk_invlists.pl
* b1280c65a1d7854433c185fe16ec778a8a4a65c696e8f119aee1b3fc2c740938 regen/mk_invlists.pl
* ex: set ro: */
2 changes: 1 addition & 1 deletion lib/unicore/uni_keywords.pl
Original file line number Diff line number Diff line change
Expand Up @@ -1265,5 +1265,5 @@
# a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
# 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
# 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
# 61ea8132bb9ea5c637609e2d026b0b85ce17d6bec544c2f08ce411e6f65e8386 regen/mk_invlists.pl
# b1280c65a1d7854433c185fe16ec778a8a4a65c696e8f119aee1b3fc2c740938 regen/mk_invlists.pl
# ex: set ro:
3 changes: 3 additions & 0 deletions regen/mk_invlists.pl
Original file line number Diff line number Diff line change
Expand Up @@ -1075,6 +1075,9 @@ sub _Perl_IVCF {
push @invlist, $sorted_folds[-1] + 1;
push @invmap, 0;

push @invlist, 0x110000;
push @invmap, 0;

# All Unicode versions have some places where multiple code points map to
# the same one, so the format always has an 'l'
return \@invlist, \@invmap, 'al', $default;
Expand Down
2 changes: 1 addition & 1 deletion uni_keywords.h
Original file line number Diff line number Diff line change
Expand Up @@ -7288,6 +7288,6 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) {
* a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
* 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
* 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
* 61ea8132bb9ea5c637609e2d026b0b85ce17d6bec544c2f08ce411e6f65e8386 regen/mk_invlists.pl
* b1280c65a1d7854433c185fe16ec778a8a4a65c696e8f119aee1b3fc2c740938 regen/mk_invlists.pl
* e80fb4dd6c15dc1b543793552ab5c7255a0f7b50d6ca9cce3a30a4dadf187b53 regen/mph.pl
* ex: set ro: */

0 comments on commit 9a9a324

Please sign in to comment.