Revert "regen/mk_invlists.pl: Fix bug when 2 ident tables"
authorKarl Williamson <khw@cpan.org>
Tue, 1 Jan 2019 03:19:30 +0000 (20:19 -0700)
committerKarl Williamson <khw@cpan.org>
Tue, 1 Jan 2019 03:50:45 +0000 (20:50 -0700)
This reverts commit 7e9b4fe4d85e9b669993bf96a7e33ffff3197e20, with
additional changes to get things to compile

It turns out I was wrong about the underlying cause that commit
addressed, and it is easier to just use the existing constants that get
generated.

charclass_invlists.h
regcomp.c
regen/mk_invlists.pl
uni_keywords.h

index 25f1dde..001312c 100644 (file)
@@ -383460,85 +383460,46 @@ static const UV * const uni_prop_ptrs[] = {
 };
 
 
-/* Synonyms for perl properties, and their tables */
+/* Synonyms for perl properties */
 #define UNI_AHEX   UNI_POSIXXDIGIT
-#define UNI_AHEX_invlist   UNI_POSIXXDIGIT_invlist
 #define UNI_ALNUM   UNI_XPOSIXALNUM
-#define UNI_ALNUM_invlist   UNI_XPOSIXALNUM_invlist
 #define UNI_ALPHA   UNI_XPOSIXALPHA
 #define UNI_ALPHABETIC   UNI_XPOSIXALPHA
-#define UNI_ALPHABETIC_invlist   UNI_XPOSIXALPHA_invlist
-#define UNI_ALPHA_invlist   UNI_XPOSIXALPHA_invlist
 #define UNI_ASCIIHEXDIGIT   UNI_POSIXXDIGIT
-#define UNI_ASCIIHEXDIGIT_invlist   UNI_POSIXXDIGIT_invlist
 #define UNI_BASICLATIN   UNI_ASCII
-#define UNI_BASICLATIN_invlist   UNI_ASCII_invlist
 #define UNI_BLANK   UNI_XPOSIXBLANK
-#define UNI_BLANK_invlist   UNI_XPOSIXBLANK_invlist
 #define UNI_CC   UNI_XPOSIXCNTRL
-#define UNI_CC_invlist   UNI_XPOSIXCNTRL_invlist
 #define UNI_CNTRL   UNI_XPOSIXCNTRL
-#define UNI_CNTRL_invlist   UNI_XPOSIXCNTRL_invlist
 #define UNI_CONTROL   UNI_XPOSIXCNTRL
-#define UNI_CONTROL_invlist   UNI_XPOSIXCNTRL_invlist
 #define UNI_DECIMALNUMBER   UNI_XPOSIXDIGIT
-#define UNI_DECIMALNUMBER_invlist   UNI_XPOSIXDIGIT_invlist
 #define UNI_DIGIT   UNI_XPOSIXDIGIT
-#define UNI_DIGIT_invlist   UNI_XPOSIXDIGIT_invlist
 #define UNI_GRAPH   UNI_XPOSIXGRAPH
-#define UNI_GRAPH_invlist   UNI_XPOSIXGRAPH_invlist
 #define UNI_HEX   UNI_XPOSIXXDIGIT
 #define UNI_HEXDIGIT   UNI_XPOSIXXDIGIT
-#define UNI_HEXDIGIT_invlist   UNI_XPOSIXXDIGIT_invlist
-#define UNI_HEX_invlist   UNI_XPOSIXXDIGIT_invlist
 #define UNI_HORIZSPACE   UNI_XPOSIXBLANK
-#define UNI_HORIZSPACE_invlist   UNI_XPOSIXBLANK_invlist
 #define UNI_LC   UNI_CASEDLETTER
-#define UNI_LC_invlist   UNI_CASEDLETTER_invlist
 #define UNI_LL   UNI_LOWERCASELETTER
-#define UNI_LL_invlist   UNI_LOWERCASELETTER_invlist
 #define UNI_LOWER   UNI_XPOSIXLOWER
 #define UNI_LOWERCASE   UNI_XPOSIXLOWER
-#define UNI_LOWERCASE_invlist   UNI_XPOSIXLOWER_invlist
-#define UNI_LOWER_invlist   UNI_XPOSIXLOWER_invlist
 #define UNI_LT   UNI_TITLE
-#define UNI_LT_invlist   UNI_TITLE_invlist
 #define UNI_LU   UNI_UPPERCASELETTER
-#define UNI_LU_invlist   UNI_UPPERCASELETTER_invlist
 #define UNI_L_   UNI_CASEDLETTER
 #define UNI_L_AMP_   UNI_CASEDLETTER
-#define UNI_L_AMP__invlist   UNI_CASEDLETTER_invlist
-#define UNI_L__invlist   UNI_CASEDLETTER_invlist
 #define UNI_ND   UNI_XPOSIXDIGIT
-#define UNI_ND_invlist   UNI_XPOSIXDIGIT_invlist
 #define UNI_PERLSPACE   UNI_POSIXSPACE
-#define UNI_PERLSPACE_invlist   UNI_POSIXSPACE_invlist
 #define UNI_PERLWORD   UNI_POSIXWORD
-#define UNI_PERLWORD_invlist   UNI_POSIXWORD_invlist
 #define UNI_PRINT   UNI_XPOSIXPRINT
-#define UNI_PRINT_invlist   UNI_XPOSIXPRINT_invlist
 #define UNI_SPACE   UNI_XPOSIXSPACE
 #define UNI_SPACEPERL   UNI_XPOSIXSPACE
-#define UNI_SPACEPERL_invlist   UNI_XPOSIXSPACE_invlist
-#define UNI_SPACE_invlist   UNI_XPOSIXSPACE_invlist
 #define UNI_TITLECASE   UNI_TITLE
 #define UNI_TITLECASELETTER   UNI_TITLE
-#define UNI_TITLECASELETTER_invlist   UNI_TITLE_invlist
-#define UNI_TITLECASE_invlist   UNI_TITLE_invlist
 #define UNI_UPPER   UNI_XPOSIXUPPER
 #define UNI_UPPERCASE   UNI_XPOSIXUPPER
-#define UNI_UPPERCASE_invlist   UNI_XPOSIXUPPER_invlist
-#define UNI_UPPER_invlist   UNI_XPOSIXUPPER_invlist
 #define UNI_WHITESPACE   UNI_XPOSIXSPACE
-#define UNI_WHITESPACE_invlist   UNI_XPOSIXSPACE_invlist
 #define UNI_WORD   UNI_XPOSIXWORD
-#define UNI_WORD_invlist   UNI_XPOSIXWORD_invlist
 #define UNI_WSPACE   UNI_XPOSIXSPACE
-#define UNI_WSPACE_invlist   UNI_XPOSIXSPACE_invlist
 #define UNI_XDIGIT   UNI_XPOSIXXDIGIT
-#define UNI_XDIGIT_invlist   UNI_XPOSIXXDIGIT_invlist
 #define UNI_XPERLSPACE   UNI_XPOSIXSPACE
-#define UNI_XPERLSPACE_invlist   UNI_XPOSIXSPACE_invlist
 
 
 #endif /* (defined(PERL_IN_REGCOMP_C) && ! defined(PERL_IN_XSUB_RE)) */
@@ -383733,5 +383694,5 @@ static const U8 WB_table[23][23] = {
  * 7bd6bcbe3813e0cd55e0998053d182b7bc8c97dcfd0b85028e9f7f55af4ad61b lib/unicore/version
  * 4bb677187a1a64e39d48f2e341b5ecb6c99857e49d7a79cf503bd8a3c709999b regen/charset_translations.pl
  * 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
- * 2de0f89344beac2b6b58f7e6e3d0a6a7afc12e7aeb95f02dbc442ec8f54f0aea regen/mk_invlists.pl
+ * 0ae79b62810eccee76ca20625f3261d326a741403e9f53eee7509443646ea522 regen/mk_invlists.pl
  * ex: set ro: */
index 46b6913..d300ead 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -21931,8 +21931,10 @@ Perl_init_uniprops(pTHX)
     PL_in_some_fold = _new_invlist_C_array(uni_prop_ptrs[UNI__PERL_ANY_FOLDS]);
     PL_HasMultiCharFold = _new_invlist_C_array(uni_prop_ptrs[
                                             UNI__PERL_FOLDS_TO_MULTI_CHAR]);
-    PL_InMultiCharFold = _new_invlist_C_array(UNI__PERL_IS_IN_MULTI_CHAR_FOLD_invlist);
-    PL_NonFinalFold = _new_invlist_C_array(UNI__PERL_NON_FINAL_FOLDS_invlist);
+    PL_InMultiCharFold = _new_invlist_C_array(uni_prop_ptrs[
+                                            UNI__PERL_IS_IN_MULTI_CHAR_FOLD]);
+    PL_NonFinalFold = _new_invlist_C_array(uni_prop_ptrs[
+                                            UNI__PERL_NON_FINAL_FOLDS]);
 
     PL_utf8_toupper = _new_invlist_C_array(Uppercase_Mapping_invlist);
     PL_utf8_tolower = _new_invlist_C_array(Lowercase_Mapping_invlist);
index c5c62d8..8100d0f 100644 (file)
@@ -2465,12 +2465,10 @@ foreach my $property (sort
         # And a #define for all simple names equivalent to a perl property,
         # except those that begin with 'is' or 'in';
         if (exists $perl_tags{$tag} && $property !~ / ^ i[ns] | = /x) {
-            my $name = $table_name_prefix . uc(sanitize_name($define));
-            push @perl_prop_synonyms, "#define $name"
-                                    . "   $defined_to";
             push @perl_prop_synonyms, "#define "
-                                    . "${name}_invlist"
-                                    . "   ${defined_to}_invlist";
+                                    . $table_name_prefix
+                                    . uc(sanitize_name($define))
+                                    . "   $defined_to";
         }
     }
 }
@@ -2934,7 +2932,7 @@ output_table_trailer();
 print $out_fh join "\n", "\n",
                          #'#    ifdef DOINIT',
                          #"\n",
-                         "/* Synonyms for perl properties, and their tables */",
+                         "/* Synonyms for perl properties */",
                          @perl_prop_synonyms,
                          #"\n",
                          #"#    endif  /* DOINIT */",
index 801f3e0..6dc80b5 100644 (file)
@@ -6996,6 +6996,6 @@ MPH_VALt match_uniprop( const unsigned char * const key, const U16 key_len ) {
  * 7bd6bcbe3813e0cd55e0998053d182b7bc8c97dcfd0b85028e9f7f55af4ad61b lib/unicore/version
  * 4bb677187a1a64e39d48f2e341b5ecb6c99857e49d7a79cf503bd8a3c709999b regen/charset_translations.pl
  * 03e51b0f07beebd5da62ab943899aa4934eee1f792fa27c1fb638c33bf4ac6ea regen/mk_PL_charclass.pl
- * 2de0f89344beac2b6b58f7e6e3d0a6a7afc12e7aeb95f02dbc442ec8f54f0aea regen/mk_invlists.pl
+ * 0ae79b62810eccee76ca20625f3261d326a741403e9f53eee7509443646ea522 regen/mk_invlists.pl
  * c56b78df81e0f96632246052d71580b212546ca02ba4075158965e11d892f21e regen/mph.pl
  * ex: set ro: */