lib/PublicInbox/View.pm | 18 +++++++++---------
t/psgi_v2.t | 2 +-
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 1aa014fdd2397c6f508c4316ce83c3938d7e5bb0..855ad017a6bfd8f4243a778a5401eadff0aabd47 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -630,7 +630,6 @@ my $over = $ctx->{-inbox}->over;
my $obfs_ibx = $ctx->{-obfs_ibx};
my $rv = '';
my $mids = mids($hdr);
- my $multiple = scalar(@$mids) > 1; # zero, one, infinity
if ($nr == 0) {
if ($more) {
$rv .=
@@ -686,18 +685,19 @@ obfuscate_addrs($obfs_ibx, $v) if $obfs_ibx; # possible :P
$rv .= "Date: $v\n";
}
$ctx->{-title_html} = join(' - ', @title);
- foreach (@$mids) {
- my $mid = PublicInbox::Hval->new_msgid($_) ;
+ if (scalar(@$mids) == 1) { # common case
+ my $mid = PublicInbox::Hval->new_msgid($mids->[0]);
my $mhtml = $mid->as_html;
- if ($multiple) {
+ $rv .= "Message-ID: <$mhtml> ";
+ $rv .= "(raw)\n";
+ } else {
+ foreach (@$mids) {
+ my $mid = PublicInbox::Hval->new_msgid($_);
+ my $mhtml = $mid->as_html;
my $href = $mid->{href};
$rv .= "Message-ID: ";
- $rv .= "";
- $rv .= "<$mhtml> ";
+ $rv .= "<$mhtml> ";
$rv .= "(raw)\n";
- } else {
- $rv .= "Message-ID: <$mhtml> ";
- $rv .= "(raw)\n";
}
}
$rv .= _parent_headers($hdr, $over);
diff --git a/t/psgi_v2.t b/t/psgi_v2.t
index cb5ece638b1d79f334ab96f90ff30ba7585f62d9..c7550e2d1e84355e6cc17c41e5ec3af80f98b2b1 100644
--- a/t/psgi_v2.t
+++ b/t/psgi_v2.t
@@ -168,7 +168,7 @@ like($raw, qr/^hello ghosts$/m, 'got third message');
@from_ = ($raw =~ m/>From: /mg);
is(scalar(@from_), 3, 'three From: lines');
foreach my $mid ('a-mid@b', $new_mid, $third) {
- like($raw, qr/<\Q$mid\E>/s, "Message-ID $mid shown");
+ like($raw, qr!>\Q$mid\E!s, "Message-ID $mid shown");
}
like($raw, qr/\b3\+ messages\b/, 'thread overview shown');