]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/process
Fix pluralising the Tag/Usertag headers
[debbugs.git] / scripts / process
index 91b68613c2d01e27155db9852d838aae245b1345..1f40901573da4f35d1e4e2ebf532d2c563f00c3e 100755 (executable)
@@ -34,6 +34,7 @@ use Debbugs::Control qw(append_action_to_log);
 use Debbugs::Control::Service qw(valid_control control_line);
 use Debbugs::Recipients qw(determine_recipients);
 use Encode qw(encode_utf8 decode);
+use List::AllUtils qw(first uniqnum);
 
 =head1 NAME
 
@@ -233,14 +234,14 @@ for my $phline (@bodylines)
     my ($fn, $fv) = ($1, $2);
     $fv =~ s/\s*$//;
     # pluralize tag/usertag
+    $fn = lc $fn;
     $fn = $fn.'s' if $fn =~ /^(?:tag|usertag)$/;
     print {$debugfh} ">$fn|$fv|\n";
-    $fn = lc $fn;
     if ($fn =~ /^control$/) {
        push @control_bits,$fv;
     } else {
        # Don't lc owner or forwarded
-       $fv = lc $fv unless $fn =~ /^(?:owner|forwarded|usertags|version|source-version)$/;
+       $fv = lc $fv unless $fn =~ /^(?:owner|forwarded|usertags|version|source-version|done)$/;
        $pheader{$fn} = $fv;
     }
     print {$debugfh} ">$fn~$fv<\n";
@@ -389,7 +390,7 @@ if ($codeletter eq 'D' || $codeletter eq 'F')
         }
         $receivedat= "done\@$gEmailDomain";
         $markaswhat= 'done';
-        $set_done= $header{'from'};
+        $set_done= $pheader{'done'} // $header{'from'};
        if ( length( $gListDomain ) > 0 && length( $gDoneList ) > 0 ) {
             $generalcc= "$gDoneList\@$gListDomain";
            push @generalcc, "$gDoneList\@$gListDomain";
@@ -1273,20 +1274,15 @@ sub fill_template{
      my $variables = {config => \%config,
                      defined($ref)?(ref    => $ref):(),
                      defined($data)?(data  => $data):(),
-                     refs => [map {exists $clonebugs{$_}?$clonebugs{$_}:$_} keys %bug_affected],
+                     refs => [sort
+                              uniqnum(defined($ref)?($ref):(),
+                                      map {exists $clonebugs{$_}?$clonebugs{$_}:$_}
+                                      keys %bug_affected)],
                      %{$extra_var},
                     };
-     my $hole_var = {'&bugurl' =>
-                    sub{"$_[0]: ".
-                             $config{cgi_domain}.'/'.
-                                  Debbugs::CGI::bug_links(bug=>$_[0],
-                                                          links_only => 1,
-                                                         );
-                   }
-                   };
      return fill_in_template(template => $template,
                             variables => $variables,
-                            hole_var  => $hole_var,
+                            output_type => 'text',
                            );
 }