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');