Fix priority of suppressed vs. explicitly output
Karl Williamson [Tue, 4 May 2010 21:10:18 +0000 (15:10 -0600)]
It's not clear this is a real bug, but it is a surprise.  If a table is
in the suppressed list, it isn't output, even if it is in the
to-be-output override list.  This latter list is non-empty only if the
user has hand-edited the the program to force an output.  So this patch
makes that list have priority.

lib/unicore/mktables

index 3a287f8..b1c7ae0 100644 (file)
@@ -4240,7 +4240,11 @@ sub trace { return main::trace(@_); }
             # lists of properties or tables that have particular statuses; if
             # not, is normal.  The lists are prioritized so the most serious
             # ones are checked first
-            if (exists $why_suppressed{$complete_name}) {
+            if (exists $why_suppressed{$complete_name}
+                # Don't suppress if overriden
+                && ! grep { $_ eq $complete_name{$addr} }
+                                                    @output_mapped_properties)
+            {
                 $status{$addr} = $SUPPRESSED;
             }
             elsif (exists $why_deprecated{$complete_name}) {