ruby-changes:48859
From: nobu <ko1@a...>
Date: Sat, 2 Dec 2017 12:12:55 +0900 (JST)
Subject: [ruby-changes:48859] nobu:r60977 (trunk): fix for emoji-data.txt
nobu 2017-12-02 12:12:51 +0900 (Sat, 02 Dec 2017) New Revision: 60977 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60977 Log: fix for emoji-data.txt * common.mk: download emoji-data.txt. As emoji data files are located in a separate directory in Unicode.org site, reearranged Unicode data files directories same as the site. * tool/enc-unicode.rb (get_file): search emoji data files in the second argument path. Modified files: trunk/common.mk trunk/enc/unicode/10.0.0/casefold.h trunk/enc/unicode/10.0.0/name2ctype.h trunk/template/unicode_norm_gen.tmpl trunk/tool/enc-unicode.rb Index: tool/enc-unicode.rb =================================================================== --- tool/enc-unicode.rb (revision 60976) +++ tool/enc-unicode.rb (revision 60977) @@ -14,8 +14,8 @@ if ARGV[0] == "--header" https://github.com/ruby/ruby/blob/trunk/tool/enc-unicode.rb#L14 header = true ARGV.shift end -unless ARGV.size == 1 - abort "Usage: #{$0} data_directory" +unless ARGV.size == 2 + abort "Usage: #{$0} data_directory emoji_data_directory" end $unicode_version = File.basename(ARGV[0])[/\A[.\d]+\z/] @@ -302,7 +302,7 @@ def constantize_blockname(name) https://github.com/ruby/ruby/blob/trunk/tool/enc-unicode.rb#L302 end def get_file(name) - File.join(ARGV[0], name) + File.join(ARGV[name.start_with?("emoji-") ? 1 : 0], name) end def data_foreach(name, &block) Index: template/unicode_norm_gen.tmpl =================================================================== --- template/unicode_norm_gen.tmpl (revision 60976) +++ template/unicode_norm_gen.tmpl (revision 60977) @@ -7,7 +7,7 @@ https://github.com/ruby/ruby/blob/trunk/template/unicode_norm_gen.tmpl#L7 # Constants for input and ouput directory InputDataDir = ARGV[0] || 'enc/unicode/data' -unicode_version = InputDataDir[/[\d.]+\z/] +unicode_version = InputDataDir[/.*\/(\d+\.\d+\.\d+)(?=\/|\z)/, 1] # convenience methods class Integer Index: enc/unicode/10.0.0/casefold.h =================================================================== --- enc/unicode/10.0.0/casefold.h (revision 60976) +++ enc/unicode/10.0.0/casefold.h (revision 60977) @@ -1419,7 +1419,7 @@ static const CaseFold_11_Type CaseFold_1 https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L1419 {0x0130, {2|F|D, {0x0069, 0x0307}}}, }; -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -7 -k1,2,3 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseFold_11_hash -N onigenc_unicode_CaseFold_11_lookup -n */ /* maximum key range = 3623, duplicates = 0 */ @@ -1462,12 +1462,6 @@ onigenc_unicode_CaseFold_11_hash(const O https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L1462 return asso_values[bits_of(code, 2)+81] + asso_values[bits_of(code, 1)+2] + asso_values[bits_of(code, 0)]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif static const CodePointList3 * onigenc_unicode_CaseFold_11_lookup(const OnigCodePoint code) { @@ -3583,9 +3577,9 @@ onigenc_unicode_CaseFold_11_lookup(const https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L3577 if (code <= MAX_CODE_VALUE && code >= MIN_CODE_VALUE) { - register int key = onigenc_unicode_CaseFold_11_hash(code); + register unsigned int key = onigenc_unicode_CaseFold_11_hash(code); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register short s = wordlist[key]; @@ -4868,7 +4862,7 @@ static const CaseUnfold_11_Type CaseUnfo https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L4862 {0x0069, {1|U, {0x0049}}}, }; -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -7 -k1,2,3 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_11_hash -N onigenc_unicode_CaseUnfold_11_lookup -n */ /* maximum key range = 2216, duplicates = 0 */ @@ -4910,12 +4904,6 @@ onigenc_unicode_CaseUnfold_11_hash(const https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L4904 return asso_values[bits_of(code, 2)+66] + asso_values[bits_of(code, 1)+4] + asso_values[bits_of(code, 0)]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif static const CodePointList3 * onigenc_unicode_CaseUnfold_11_lookup(const OnigCodePoint code) { @@ -6602,9 +6590,9 @@ onigenc_unicode_CaseUnfold_11_lookup(con https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6590 if (code <= MAX_CODE_VALUE && code >= MIN_CODE_VALUE) { - register int key = onigenc_unicode_CaseUnfold_11_hash(code); + register unsigned int key = onigenc_unicode_CaseUnfold_11_hash(code); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register short s = wordlist[key]; @@ -6679,7 +6667,7 @@ static const CaseUnfold_12_Type CaseUnfo https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6667 {{0x0069, 0x0307}, {1, {0x0130}}}, }; -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -7 -k1,2,3,4,5,6 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_12_hash -N onigenc_unicode_CaseUnfold_12_lookup -n */ /* maximum key range = 71, duplicates = 0 */ @@ -6714,12 +6702,6 @@ onigenc_unicode_CaseUnfold_12_hash(const https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6702 return asso_values[bits_at(codes, 5)] + asso_values[bits_at(codes, 4)] + asso_values[bits_at(codes, 3)] + asso_values[bits_at(codes, 2)] + asso_values[bits_at(codes, 1)] + asso_values[bits_at(codes, 0)]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif static const CodePointList2 * onigenc_unicode_CaseUnfold_12_lookup(const OnigCodePoint *codes) { @@ -6804,9 +6786,9 @@ onigenc_unicode_CaseUnfold_12_lookup(con https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6786 if (codes[0] <= MAX_CODE_VALUE && codes[0] >= MIN_CODE_VALUE && codes[1] <= MAX_CODE_VALUE && codes[1] >= MIN_CODE_VALUE) { - register int key = onigenc_unicode_CaseUnfold_12_hash(codes); + register unsigned int key = onigenc_unicode_CaseUnfold_12_hash(codes); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register short s = wordlist[key]; @@ -6835,7 +6817,7 @@ static const CaseUnfold_13_Type CaseUnfo https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6817 {{0x03c9, 0x0342, 0x03b9}, {1, {0x1ff7}}}, }; -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -7 -k1,2,3,4,5,6,7,8,9 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_13_hash -N onigenc_unicode_CaseUnfold_13_lookup -n */ /* maximum key range = 20, duplicates = 0 */ @@ -6870,12 +6852,6 @@ onigenc_unicode_CaseUnfold_13_hash(const https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6852 return asso_values[bits_at(codes, 8)] + asso_values[bits_at(codes, 7)] + asso_values[bits_at(codes, 6)] + asso_values[bits_at(codes, 5)] + asso_values[bits_at(codes, 4)] + asso_values[bits_at(codes, 3)] + asso_values[bits_at(codes, 2)] + asso_values[bits_at(codes, 1)] + asso_values[bits_at(codes, 0)]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif static const CodePointList2 * onigenc_unicode_CaseUnfold_13_lookup(const OnigCodePoint *codes) { @@ -6918,9 +6894,9 @@ onigenc_unicode_CaseUnfold_13_lookup(con https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/casefold.h#L6894 codes[1] <= MAX_CODE_VALUE && codes[1] >= MIN_CODE_VALUE && codes[2] <= MAX_CODE_VALUE && codes[2] >= MIN_CODE_VALUE) { - register int key = onigenc_unicode_CaseUnfold_13_hash(codes); + register unsigned int key = onigenc_unicode_CaseUnfold_13_hash(codes); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register short s = wordlist[key]; Index: enc/unicode/10.0.0/name2ctype.h =================================================================== --- enc/unicode/10.0.0/name2ctype.h (revision 60976) +++ enc/unicode/10.0.0/name2ctype.h (revision 60977) @@ -1,4 +1,4 @@ https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L1 -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -7 -c -j1 -i1 -t -C -P -T -H uniname2ctype_hash -Q uniname2ctype_pool -N uniname2ctype_p */ #ifndef USE_UNICODE_PROPERTIES /* Computed positions: -k'1,3' */ @@ -30,7 +30,7 @@ https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L30 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@g...>." +#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@g...>." #endif @@ -21317,6 +21317,289 @@ static const OnigCodePoint CR_Regional_I https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L21317 0x1f1e6, 0x1f1ff, }; /* CR_Regional_Indicator */ +/* 'Emoji': Emoji */ +static const OnigCodePoint CR_Emoji[] = { + 145, + 0x0023, 0x0023, + 0x002a, 0x002a, + 0x0030, 0x0039, + 0x00a9, 0x00a9, + 0x00ae, 0x00ae, + 0x203c, 0x203c, + 0x2049, 0x2049, + 0x2122, 0x2122, + 0x2139, 0x2139, + 0x2194, 0x2199, + 0x21a9, 0x21aa, + 0x231a, 0x231b, + 0x2328, 0x2328, + 0x23cf, 0x23cf, + 0x23e9, 0x23f3, + 0x23f8, 0x23fa, + 0x24c2, 0x24c2, + 0x25aa, 0x25ab, + 0x25b6, 0x25b6, + 0x25c0, 0x25c0, + 0x25fb, 0x25fe, + 0x2600, 0x2604, + 0x260e, 0x260e, + 0x2611, 0x2611, + 0x2614, 0x2615, + 0x2618, 0x2618, + 0x261d, 0x261d, + 0x2620, 0x2620, + 0x2622, 0x2623, + 0x2626, 0x2626, + 0x262a, 0x262a, + 0x262e, 0x262f, + 0x2638, 0x263a, + 0x2640, 0x2640, + 0x2642, 0x2642, + 0x2648, 0x2653, + 0x2660, 0x2660, + 0x2663, 0x2663, + 0x2665, 0x2666, + 0x2668, 0x2668, + 0x267b, 0x267b, + 0x267f, 0x267f, + 0x2692, 0x2697, + 0x2699, 0x2699, + 0x269b, 0x269c, + 0x26a0, 0x26a1, + 0x26aa, 0x26ab, + 0x26b0, 0x26b1, + 0x26bd, 0x26be, + 0x26c4, 0x26c5, + 0x26c8, 0x26c8, + 0x26ce, 0x26cf, + 0x26d1, 0x26d1, + 0x26d3, 0x26d4, + 0x26e9, 0x26ea, + 0x26f0, 0x26f5, + 0x26f7, 0x26fa, + 0x26fd, 0x26fd, + 0x2702, 0x2702, + 0x2705, 0x2705, + 0x2708, 0x270d, + 0x270f, 0x270f, + 0x2712, 0x2712, + 0x2714, 0x2714, + 0x2716, 0x2716, + 0x271d, 0x271d, + 0x2721, 0x2721, + 0x2728, 0x2728, + 0x2733, 0x2734, + 0x2744, 0x2744, + 0x2747, 0x2747, + 0x274c, 0x274c, + 0x274e, 0x274e, + 0x2753, 0x2755, + 0x2757, 0x2757, + 0x2763, 0x2764, + 0x2795, 0x2797, + 0x27a1, 0x27a1, + 0x27b0, 0x27b0, + 0x27bf, 0x27bf, + 0x2934, 0x2935, + 0x2b05, 0x2b07, + 0x2b1b, 0x2b1c, + 0x2b50, 0x2b50, + 0x2b55, 0x2b55, + 0x3030, 0x3030, + 0x303d, 0x303d, + 0x3297, 0x3297, + 0x3299, 0x3299, + 0x1f004, 0x1f004, + 0x1f0cf, 0x1f0cf, + 0x1f170, 0x1f171, + 0x1f17e, 0x1f17f, + 0x1f18e, 0x1f18e, + 0x1f191, 0x1f19a, + 0x1f1e6, 0x1f1ff, + 0x1f201, 0x1f202, + 0x1f21a, 0x1f21a, + 0x1f22f, 0x1f22f, + 0x1f232, 0x1f23a, + 0x1f250, 0x1f251, + 0x1f300, 0x1f321, + 0x1f324, 0x1f393, + 0x1f396, 0x1f397, + 0x1f399, 0x1f39b, + 0x1f39e, 0x1f3f0, + 0x1f3f3, 0x1f3f5, + 0x1f3f7, 0x1f4fd, + 0x1f4ff, 0x1f53d, + 0x1f549, 0x1f54e, + 0x1f550, 0x1f567, + 0x1f56f, 0x1f570, + 0x1f573, 0x1f57a, + 0x1f587, 0x1f587, + 0x1f58a, 0x1f58d, + 0x1f590, 0x1f590, + 0x1f595, 0x1f596, + 0x1f5a4, 0x1f5a5, + 0x1f5a8, 0x1f5a8, + 0x1f5b1, 0x1f5b2, + 0x1f5bc, 0x1f5bc, + 0x1f5c2, 0x1f5c4, + 0x1f5d1, 0x1f5d3, + 0x1f5dc, 0x1f5de, + 0x1f5e1, 0x1f5e1, + 0x1f5e3, 0x1f5e3, + 0x1f5e8, 0x1f5e8, + 0x1f5ef, 0x1f5ef, + 0x1f5f3, 0x1f5f3, + 0x1f5fa, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f6cb, 0x1f6d2, + 0x1f6e0, 0x1f6e5, + 0x1f6e9, 0x1f6e9, + 0x1f6eb, 0x1f6ec, + 0x1f6f0, 0x1f6f0, + 0x1f6f3, 0x1f6f8, + 0x1f910, 0x1f93a, + 0x1f93c, 0x1f93e, + 0x1f940, 0x1f945, + 0x1f947, 0x1f94c, + 0x1f950, 0x1f96b, + 0x1f980, 0x1f997, + 0x1f9c0, 0x1f9c0, + 0x1f9d0, 0x1f9e6, +}; /* CR_Emoji */ + +/* 'Emoji_Presentation': Emoji */ +static const OnigCodePoint CR_Emoji_Presentation[] = { + 75, + 0x231a, 0x231b, + 0x23e9, 0x23ec, + 0x23f0, 0x23f0, + 0x23f3, 0x23f3, + 0x25fd, 0x25fe, + 0x2614, 0x2615, + 0x2648, 0x2653, + 0x267f, 0x267f, + 0x2693, 0x2693, + 0x26a1, 0x26a1, + 0x26aa, 0x26ab, + 0x26bd, 0x26be, + 0x26c4, 0x26c5, + 0x26ce, 0x26ce, + 0x26d4, 0x26d4, + 0x26ea, 0x26ea, + 0x26f2, 0x26f3, + 0x26f5, 0x26f5, + 0x26fa, 0x26fa, + 0x26fd, 0x26fd, + 0x2705, 0x2705, + 0x270a, 0x270b, + 0x2728, 0x2728, + 0x274c, 0x274c, + 0x274e, 0x274e, + 0x2753, 0x2755, + 0x2757, 0x2757, + 0x2795, 0x2797, + 0x27b0, 0x27b0, + 0x27bf, 0x27bf, + 0x2b1b, 0x2b1c, + 0x2b50, 0x2b50, + 0x2b55, 0x2b55, + 0x1f004, 0x1f004, + 0x1f0cf, 0x1f0cf, + 0x1f18e, 0x1f18e, + 0x1f191, 0x1f19a, + 0x1f1e6, 0x1f1ff, + 0x1f201, 0x1f201, + 0x1f21a, 0x1f21a, + 0x1f22f, 0x1f22f, + 0x1f232, 0x1f236, + 0x1f238, 0x1f23a, + 0x1f250, 0x1f251, + 0x1f300, 0x1f320, + 0x1f32d, 0x1f335, + 0x1f337, 0x1f37c, + 0x1f37e, 0x1f393, + 0x1f3a0, 0x1f3ca, + 0x1f3cf, 0x1f3d3, + 0x1f3e0, 0x1f3f0, + 0x1f3f4, 0x1f3f4, + 0x1f3f8, 0x1f43e, + 0x1f440, 0x1f440, + 0x1f442, 0x1f4fc, + 0x1f4ff, 0x1f53d, + 0x1f54b, 0x1f54e, + 0x1f550, 0x1f567, + 0x1f57a, 0x1f57a, + 0x1f595, 0x1f596, + 0x1f5a4, 0x1f5a4, + 0x1f5fb, 0x1f64f, + 0x1f680, 0x1f6c5, + 0x1f6cc, 0x1f6cc, + 0x1f6d0, 0x1f6d2, + 0x1f6eb, 0x1f6ec, + 0x1f6f4, 0x1f6f8, + 0x1f910, 0x1f93a, + 0x1f93c, 0x1f93e, + 0x1f940, 0x1f945, + 0x1f947, 0x1f94c, + 0x1f950, 0x1f96b, + 0x1f980, 0x1f997, + 0x1f9c0, 0x1f9c0, + 0x1f9d0, 0x1f9e6, +}; /* CR_Emoji_Presentation */ + +/* 'Emoji_Modifier': Emoji */ +static const OnigCodePoint CR_Emoji_Modifier[] = { + 1, + 0x1f3fb, 0x1f3ff, +}; /* CR_Emoji_Modifier */ + +/* 'Emoji_Modifier_Base': Emoji */ +static const OnigCodePoint CR_Emoji_Modifier_Base[] = { + 32, + 0x261d, 0x261d, + 0x26f9, 0x26f9, + 0x270a, 0x270d, + 0x1f385, 0x1f385, + 0x1f3c2, 0x1f3c4, + 0x1f3c7, 0x1f3c7, + 0x1f3ca, 0x1f3cc, + 0x1f442, 0x1f443, + 0x1f446, 0x1f450, + 0x1f466, 0x1f469, + 0x1f46e, 0x1f46e, + 0x1f470, 0x1f478, + 0x1f47c, 0x1f47c, + 0x1f481, 0x1f483, + 0x1f485, 0x1f487, + 0x1f4aa, 0x1f4aa, + 0x1f574, 0x1f575, + 0x1f57a, 0x1f57a, + 0x1f590, 0x1f590, + 0x1f595, 0x1f596, + 0x1f645, 0x1f647, + 0x1f64b, 0x1f64f, + 0x1f6a3, 0x1f6a3, + 0x1f6b4, 0x1f6b6, + 0x1f6c0, 0x1f6c0, + 0x1f6cc, 0x1f6cc, + 0x1f918, 0x1f91c, + 0x1f91e, 0x1f91f, + 0x1f926, 0x1f926, + 0x1f930, 0x1f939, + 0x1f93d, 0x1f93e, + 0x1f9d1, 0x1f9dd, +}; /* CR_Emoji_Modifier_Base */ + +/* 'Emoji_Component': Emoji */ +static const OnigCodePoint CR_Emoji_Component[] = { + 5, + 0x0023, 0x0023, + 0x002a, 0x002a, + 0x0030, 0x0039, + 0x1f1e6, 0x1f1ff, + 0x1f3fb, 0x1f3ff, +}; /* CR_Emoji_Component */ + /* 'Unknown': Script */ static const OnigCodePoint CR_Unknown[] = { 647, @@ -32146,10 +32429,7 @@ static const OnigCodePoint CR_Grapheme_C https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L32429 }; /* CR_Grapheme_Cluster_Break_E_Base */ /* 'Grapheme_Cluster_Break_E_Modifier': Grapheme_Cluster_Break=E_Modifier */ -static const OnigCodePoint CR_Grapheme_Cluster_Break_E_Modifier[] = { - 1, - 0x1f3fb, 0x1f3ff, -}; /* CR_Grapheme_Cluster_Break_E_Modifier */ +#define CR_Grapheme_Cluster_Break_E_Modifier CR_Emoji_Modifier /* 'Grapheme_Cluster_Break_ZWJ': Grapheme_Cluster_Break=ZWJ */ static const OnigCodePoint CR_Grapheme_Cluster_Break_ZWJ[] = { @@ -34143,6 +34423,11 @@ static const OnigCodePoint* const CodeRa https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L34423 CR_Pattern_Syntax, CR_Prepended_Concatenation_Mark, CR_Regional_Indicator, + CR_Emoji, + CR_Emoji_Presentation, + CR_Emoji_Modifier, + CR_Emoji_Modifier_Base, + CR_Emoji_Component, CR_Unknown, #ifdef USE_UNICODE_AGE_PROPERTIES CR_Age_1_1, @@ -34482,9 +34767,9 @@ static const struct uniname2ctype_struct https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L34767 /* maximum key range = 15, duplicates = 0 */ #else /* USE_UNICODE_PROPERTIES */ #ifndef USE_UNICODE_AGE_PROPERTIES -#define TOTAL_KEYWORDS 770 +#define TOTAL_KEYWORDS 775 #else /* USE_UNICODE_AGE_PROPERTIES */ -#define TOTAL_KEYWORDS 789 +#define TOTAL_KEYWORDS 794 #endif /* USE_UNICODE_AGE_PROPERTIES */ #define MIN_WORD_LENGTH 1 #define MAX_WORD_LENGTH 44 @@ -34501,9 +34786,7 @@ inline https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L34786 #endif #endif static unsigned int -uniname2ctype_hash (str, len) - register const char *str; - register unsigned int len; +uniname2ctype_hash (register const char *str, register unsigned int len) { #ifndef USE_UNICODE_PROPERTIES static const unsigned char asso_values[] = @@ -34549,7 +34832,7 @@ uniname2ctype_hash (str, len) https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L34832 #ifndef USE_UNICODE_PROPERTIES return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]]; #else /* USE_UNICODE_PROPERTIES */ - register int hval = len; + register unsigned int hval = len; switch (hval) { @@ -34992,6 +35275,7 @@ struct uniname2ctype_pool_t https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L35275 char uniname2ctype_pool_str1355[sizeof("intibetan")]; char uniname2ctype_pool_str1364[sizeof("inlepcha")]; char uniname2ctype_pool_str1365[sizeof("inbatak")]; + char uniname2ctype_pool_str1367[sizeof("emoji")]; char uniname2ctype_pool_str1368[sizeof("osma")]; char uniname2ctype_pool_str1369[sizeof("bhks")]; char uniname2ctype_pool_str1372[sizeof("inmongolian")]; @@ -35058,6 +35342,7 @@ struct uniname2ctype_pool_t https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L35342 char uniname2ctype_pool_str1470[sizeof("number")]; char uniname2ctype_pool_str1471[sizeof("insundanesesupplement")]; char uniname2ctype_pool_str1485[sizeof("incopticepactnumbers")]; + char uniname2ctype_pool_str1490[sizeof("emojimodifier")]; char uniname2ctype_pool_str1496[sizeof("zp")]; char uniname2ctype_pool_str1497[sizeof("asciihexdigit")]; char uniname2ctype_pool_str1500[sizeof("indevanagari")]; @@ -35094,6 +35379,7 @@ struct uniname2ctype_pool_t https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L35379 char uniname2ctype_pool_str1631[sizeof("enclosingmark")]; char uniname2ctype_pool_str1632[sizeof("java")]; char uniname2ctype_pool_str1636[sizeof("tale")]; + char uniname2ctype_pool_str1638[sizeof("emojimodifierbase")]; char uniname2ctype_pool_str1645[sizeof("inphoneticextensions")]; char uniname2ctype_pool_str1647[sizeof("lowercase")]; char uniname2ctype_pool_str1648[sizeof("inverticalforms")]; @@ -35122,6 +35408,7 @@ struct uniname2ctype_pool_t https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L35408 char uniname2ctype_pool_str1736[sizeof("graph")]; char uniname2ctype_pool_str1737[sizeof("olchiki")]; char uniname2ctype_pool_str1741[sizeof("inphoneticextensionssupplement")]; + char uniname2ctype_pool_str1743[sizeof("emojicomponent")]; char uniname2ctype_pool_str1746[sizeof("inunifiedcanadianaboriginalsyllabicsextended")]; char uniname2ctype_pool_str1748[sizeof("ingeometricshapes")]; char uniname2ctype_pool_str1752[sizeof("invariationselectorssupplement")]; @@ -35263,6 +35550,7 @@ struct uniname2ctype_pool_t https://github.com/ruby/ruby/blob/trunk/enc/unicode/10.0.0/name2ctype.h#L35550 char uniname2ctype_pool_str2372[sizeof("syriac")]; char uniname2ctype_pool_str2380[sizeof("ethi")]; char uniname2ctype_pool_str2386[sizeof("otheralphabetic")]; + char uniname2ctype_pool_str2393[sizeof("emojipresentation")]; char uniname2ctype_pool_str2399[sizeof("inarabicmathematicalalphabeticsymbols")]; char uniname2ctype_pool_str2408[sizeof("tang")]; char uniname2ctype_pool_str2409[sizeof("buhid")]; @@ -35814,6 +36102,7 @@ static const struct uniname2ctype_pool_t https://github.c (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/