# last References should be IRT, but some mail clients do things
# out of order, so trust IRT over References iff IRT exists
- my @refs = ($hdr->header_raw('References'),
- $hdr->header_raw('In-Reply-To'));
- @refs = ((join(' ', @refs)) =~ /<([^>]+)>/g);
+ my @refs = (($hdr->header_raw('References') || '') =~ /<([^>]+)>/g);
+ push(@refs, (($hdr->header_raw('In-Reply-To') || '') =~ /<([^>]+)>/g));
my $tid;
if (@refs) {
sub index_mm {
my ($self, $mime) = @_;
- $self->{mm}->mid_insert(mid_clean(mid_mime($mime)));
+ my $mid = mid_clean(mid_mime($mime));
+ my $mm = $self->{mm};
+ my $num = $mm->mid_insert($mid);
+
+ # fallback to num_for since filters like RubyLang set the number
+ defined $num ? $num : $mm->num_for($mid);
}
sub unindex_mm {