]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/MdirReader.pm
lei: maildir: handle "forwarded" keyword as "P"
[public-inbox.git] / lib / PublicInbox / MdirReader.pm
index 44724af1524fc9b845a5f8f32286c56fc1a52e95..1685e4d8ee2883f283ef606a478957fd85dc1ab2 100644 (file)
@@ -37,12 +37,13 @@ sub maildir_each_file ($$;@) {
        }
 }
 
-my %c2kw = ('D' => 'draft', F => 'flagged', R => 'answered', S => 'seen');
+my %c2kw = ('D' => 'draft', F => 'flagged', P => 'forwarded',
+       R => 'answered', S => 'seen');
 
 sub maildir_each_eml ($$;@) {
        my ($dir, $cb, @arg) = @_;
        $dir .= '/' unless substr($dir, -1) eq '/';
-       my $pfx = "$dir/new/";
+       my $pfx = $dir . 'new/';
        if (opendir(my $dh, $pfx)) {
                while (defined(my $bn = readdir($dh))) {
                        next if substr($bn, 0, 1) eq '.';
@@ -53,10 +54,11 @@ sub maildir_each_eml ($$;@) {
                        $cb->($f, [], $eml, @arg);
                }
        }
-       $pfx = "$dir/cur/";
+       $pfx = $dir . 'cur/';
        opendir my $dh, $pfx or return;
        while (defined(my $bn = readdir($dh))) {
                my $fl = maildir_basename_flags($bn) // next;
+               next if index($fl, 'T') >= 0;
                my $f = $pfx.$bn;
                my $eml = eml_from_path($f) or next;
                my @kw = sort(map { $c2kw{$_} // () } split(//, $fl));