lib/PublicInbox/Inbox.pm | 6 ++++++ lib/PublicInbox/SolverGit.pm | 4 ++-- diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index c295b2677e48299cbfbacfc53f36136ad73f479f..bd1489e369947b5f13d3a1012ddbb7a4878cd892 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -334,6 +334,12 @@ return $smsg; } } +sub smsg_eml { + my ($self, $smsg) = @_; + my $bref = msg_by_smsg($self, $smsg) or return; + PublicInbox::Eml->new($bref); +} + sub mid2num($$) { my ($self, $mid) = @_; my $mm = mm($self) or return; diff --git a/lib/PublicInbox/SolverGit.pm b/lib/PublicInbox/SolverGit.pm index f718e28cbd55af423a4ad41d15c4e2a141ac55e2..b1cb1ae97c41ccd371a8387b13f5f379abd21418 100644 --- a/lib/PublicInbox/SolverGit.pm +++ b/lib/PublicInbox/SolverGit.pm @@ -233,8 +233,8 @@ my $msgs = $srch->query($q, { relevance => 1 }); my $diffs = []; foreach my $smsg (@$msgs) { - $ibx->smsg_mime($smsg) or next; - delete($smsg->{mime})->each_part(\&extract_diff, + my $eml = $ibx->smsg_eml($smsg) or next; + $eml->each_part(\&extract_diff, [$self, $diffs, $pre, $post, $ibx, $smsg], 1); } @$diffs ? $diffs : undef;