@@ -2941,15 +2941,25 @@ sub count_filesets { # {{{1
29412941 my $Lang_L = $Language{$fset_a}{$file_L};
29422942 my $Lang_R = $Language{$fset_b}{$file_R};
29432943#use Data::Dumper;
2944- #print "file_L=$file_L $Language{$fset_a}{$file_L}\n";
2944+ #print "Language: ", Dumper(\%Language);
2945+ #die "L undefined" unless defined $Language{$fset_a}{$file_L};
2946+ #die "R undefined" unless defined $Language{$fset_b}{$file_R};
2947+ #print "file_L=$file_L file_R=$file_R\n";
29452948#print "fset_a=$fset_a $Language{$fset_a}{$file_L}\n";
29462949#print "fset_b=$fset_b $Language{$fset_b}{$file_R}\n";
2947- if (!defined($Lang_L) or !defined($Lang_R)) {
2950+ # handle cases where one side of the pair couldn't be identified
2951+ if ( defined($Lang_L) and !defined($Lang_R)) {
2952+ $Lang_R = $Lang_L;
2953+ $Language{$fset_b}{$file_R} = $Lang_R;
2954+ } elsif (!defined($Lang_L) and defined($Lang_R)) {
2955+ $Lang_L = $Lang_R;
2956+ $Language{$fset_a}{$file_L} = $Lang_L;
2957+ } elsif (!defined($Lang_L) or !defined($Lang_R)) {
29482958 print " -> count_filesets skipping $file_L, $file_R ",
29492959 "because language cannot be inferred\n" if $opt_v;
29502960 next;
29512961 }
2952- #print "main step 6 file_L=$file_L file_R=$file_R\n";
2962+ #print "main step 6 file_L=$file_L ($Lang_L) file_R=$file_R ($Lang_R) \n";
29532963 ++$nCounted;
29542964 printf "Counting: %d\r", $nCounted
29552965 unless ($counter_type or !$opt_progress_rate or ($nCounted % $opt_progress_rate));
0 commit comments