tools: fix includes from relative paths for perl v5.26
[sheet.git] / tools / mkdigraphlist
index ab0c2f95ad201344672794a94449b6268cfa3c80..2d1fdbd8380b27cb4d620e5d99bee3ac110bee45 100755 (executable)
@@ -9,12 +9,15 @@ use open OUT => ':utf8', ':std';
 our $VERSION = '1.06';
 
 # import and combine various digraph data
-my $rfc = do 'data/digraphs-rfc.inc.pl'
+push @INC, 'data';
+my $rfc = do 'digraphs-rfc.inc.pl'
        or die "error reading digraphs include: ", $@ // $!;
-my $extra = do 'data/digraphs-shiar.inc.pl'
+my $extra = do 'digraphs-shiar.inc.pl'
        or warn "could not include shiar proposals: ", $@ // $!;
-my $vim = do 'data/digraphs-vim.inc.pl'
+my $vim = do 'digraphs-vim.inc.pl'
        or warn "could not include vim extensions ", $@ // $!;
+my $vimold = do 'digraphs-vim-74.inc.pl'
+       or warn "could not include vim compatibility ", $@ // $!;
 my $di = { %{$vim // {}}, %{$rfc}, %{$extra // {}} };
 
 # optionally get unicode character information
@@ -34,9 +37,12 @@ printf "q{%s}=>[%s],\n", s/(?=[\\}])/\\/gr, join(',',
        ord $di->{$_},   # original code point
        map {"'$_'"}
        $uninfo->{ $di->{$_} }->[1] // '',  # name
-       $rfc->{$_}
-               ? $vim->{$_} ? 'l4' : 'l1'  # vim+rfc or rfc only
-               : $vim->{$_} ? 'l3' : 'l2',  # vim only or neither
+       join(' ',
+               $rfc->{$_}
+                       ? $vim->{$_} ? 'l4' : 'l1'  # vim+rfc or rfc only
+                       : $vim->{$_} ? 'l3' : 'l2', # vim only or neither
+               $vimold && $vim->{$_} && !$vimold->{$_} ? 'ex' : (), # new vim feature
+       ),
        ($uninfo->{ $di->{$_} }->[0] // '') =~ s/ u-di| u-prop| ex//gr,  # class
        $uninfo->{ $di->{$_} }->[4] // (),  # string
 ) for sort keys %{$di};