Memoize tests
[p5sagit/p5-mst-13.2.git] / lib / utf8_heavy.pl
index 0961509..06b2266 100644 (file)
@@ -23,10 +23,12 @@ sub SWASHNEW {
 
        defined %utf8::In || do "unicore/In.pl";
 
-       $type =~ s/^In(?:[-_]|\s+)?//i;
+       $type =~ s/^In(?:[-_]|\s+)?(?!herited$)//i;
        $type =~ s/\s+$//;
 
-       my $inprefix = substr(lc($type), 0, 3);
+        $type = 'Lampersand' if $type =~ /^(?:Is)?L&$/;
+
+       my $inprefix = substr(lc($type), 0, 2);
        if (exists $utf8::InPat{$inprefix}) {
            my $In = $type;
            for my $k (keys %{$utf8::InPat{$inprefix}}) {
@@ -43,9 +45,8 @@ sub SWASHNEW {
 
        unless (defined $file) {
            # This is separate from 'To' in preparation of Is.pl (a la In.pl).
-           if ($type =~ /^Is([A-Z][A-Za-z]*|L&)$/) {
-               my $cat = $1 eq 'L&' ? 'L' : $1;
-               $file = "unicore/Is/$cat";
+           if ($type =~ /^Is([A-Z][A-Za-z]*)$/) {
+               $file = "unicore/Is/$1";
            } elsif ((not defined $file) && $type =~ /^To([A-Z][A-Za-z]*)$/) {
                $file = "unicore/To/$1";
            }