push @tables_that_may_be_empty, $ri->full_name;
}
- my $specials_begin = $perl->add_match_table('_X_Special_Begin',
+ my $specials_begin = $perl->add_match_table('_X_Special_Begin_Start',
Perl_Extension => 1,
Fate => $INTERNAL_ONLY,
Initialize => $lv_lvt_v
+ $ri
);
$specials_begin->add_comment(join_lines( <<END
-For use in \\X; matches first character of potential multi-character
-sequences that can begin an extended grapheme cluster. They need special
-handling because of their complicated nature.
+For use in \\X; matches first (perhaps only) character of potential
+multi-character sequences that can begin an extended grapheme cluster. They
+need special handling because of their complicated nature.
END
));
my $regular_begin = $perl->add_match_table('_X_Regular_Begin',
( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
/*
- GCB_SPECIAL_BEGIN: Grapheme_Cluster_Break=special_begins
+ GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
- \p{_X_Special_Begin}
+ \p{_X_Special_Begin_Start}
*/
/*** GENERATED CODE ***/
-#define is_GCB_SPECIAL_BEGIN_utf8(s) \
+#define is_GCB_SPECIAL_BEGIN_START_utf8(s) \
( ( 0xE1 == ((U8*)s)[0] ) ? \
( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ? \
3 \
=> UTF8 :fast
\p{_X_RI}
-GCB_SPECIAL_BEGIN: Grapheme_Cluster_Break=special_begins
+GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
=> UTF8 :fast
-\p{_X_Special_Begin}
+\p{_X_Special_Begin_Start}
GCB_T: Grapheme_Cluster_Break=T
=> UTF8 :fast
&& (locinput >= PL_regeol
|| (! swash_fetch(PL_utf8_X_regular_begin,
(U8*)locinput, utf8_target)
- && ! is_GCB_SPECIAL_BEGIN_utf8(locinput)))
+ && ! is_GCB_SPECIAL_BEGIN_START_utf8(locinput)))
)
{
locinput = previous_prepend;
(U8*)locinput, utf8_target)) {
locinput += UTF8SKIP(locinput);
}
- else if (! is_GCB_SPECIAL_BEGIN_utf8(locinput)) {
+ else if (! is_GCB_SPECIAL_BEGIN_START_utf8(locinput)) {
/* Here did not match the required 'Begin' in the
* second term. So just match the very first