This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mktables: Suppress output files that shouldn't be written
authorKarl Williamson <khw@cpan.org>
Sun, 26 Jul 2015 01:11:40 +0000 (19:11 -0600)
committerKarl Williamson <khw@cpan.org>
Wed, 29 Jul 2015 04:15:57 +0000 (22:15 -0600)
mktables takes files as input as furnished by Unicode, munges things,
and outputs files containing tables that are more suitable for use by
the rest of perl.  A placeholder table is one that isn't supposed to be
output, but whose values are needed for internal calculations.  Prior to
this commit, those tables were being output.

charclass_invlists.h
lib/unicore/mktables
regcharclass.h

index 57931cc..10bdf06 100644 (file)
@@ -99521,7 +99521,7 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
  * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
  * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
  * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
- * 2fcdb149d6346744c9e8582c29a63a937c5215b18611e6ecbc6c9b61406980a5 lib/unicore/mktables
+ * 3354de92c9bccd2eb1912c54d3accf2855da6b77ebd52891a797299e0cd1e360 lib/unicore/mktables
  * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
  * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
  * 7b6f61662df48e0cbfb234a926e02e5cb9468af052f7f9feb84285996f30df09 regen/mk_invlists.pl
index d1f9bae..cf52361 100644 (file)
@@ -6282,7 +6282,8 @@ END
         }
 
         # Save the reason for suppression for output
-        if ($fate == $SUPPRESSED && defined $reason) {
+        if ($fate >= $SUPPRESSED) {
+            $reason = "" unless defined $reason;
             $why_suppressed{$complete_name{$addr}} = $reason;
         }
 
@@ -8468,8 +8469,8 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
                 $fate = $SUPPRESSED;
                 $suppression_reason = "Parent property is internal only";
             }
-            elsif ($self->fate == $SUPPRESSED) {
-                $fate = $SUPPRESSED;
+            elsif ($self->fate >= $SUPPRESSED) {
+                $fate = $self->fate;
                 $suppression_reason = $why_suppressed{$self->complete_name};
 
             }
@@ -8846,7 +8847,7 @@ sub trace { return main::trace(@_) if main::DEBUG && $to_trace }
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         my $addr = do { no overloading; pack 'J', $self; };
-        if ($fate == $SUPPRESSED) {
+        if ($fate >= $SUPPRESSED) {
             $why_suppressed{$self->complete_name} = $reason;
         }
 
index dfda086..36d6a43 100644 (file)
  * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
  * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
  * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
- * 2fcdb149d6346744c9e8582c29a63a937c5215b18611e6ecbc6c9b61406980a5 lib/unicore/mktables
+ * 3354de92c9bccd2eb1912c54d3accf2855da6b77ebd52891a797299e0cd1e360 lib/unicore/mktables
  * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
  * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
  * d9c04ac46bdd81bb3e26519f2b8eb6242cb12337205add3f7cf092b0c58dccc4 regen/regcharclass.pl