diff options
author | Eric Wong <e@80x24.org> | 2014-08-31 02:52:27 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2014-08-31 02:52:27 +0000 |
commit | f6835e9f41767954aba54cd478132407a3e48617 (patch) | |
tree | bddfc8e8cb6f2234c3b55de6bda1e6c01e0bc09b | |
parent | 1f23784800e0cc018b0e8565ca06bab0b2d08f7c (diff) | |
download | public-inbox-f6835e9f41767954aba54cd478132407a3e48617.tar.gz |
It's helpful to show context if a message does not appear on the current index page.
-rw-r--r-- | lib/PublicInbox/View.pm | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index d1bb9356..c1a5fbb1 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -76,6 +76,13 @@ sub index_entry { $rv .= "$pfx<a name=\"$name\"><b>$subj</b> $from - $ts</a>\n\n"; + my $irp = $header_obj->header_raw('In-Reply-To'); + my ($anchor_idx, $anchor); + if (defined $irp) { + $anchor_idx = anchor_for($irp); + $anchor = $seen->{$anchor_idx}; + } + # scan through all parts, looking for displayable text $mime->walk_parts(sub { my ($part) = @_; @@ -91,8 +98,11 @@ sub index_entry { my $s = ascii_html($enc->decode($part->body)); - # drop quotes, including the "so-and-so wrote:" line - $s =~ s/(?:^[^\n]*:\s*\n)?(?:^>[^\n]*\n)+(?:^\s*\n)?//mg; + if (defined $anchor) { + # drop quotes, including the "so-and-so wrote:" line + $s =~ s/(?:^[^\n]*:\s*\n)? + (?:^>[^\n]*\n)+(?:^\s*\n)?//mgx; + } # Drop signatures $s =~ s/^-- \n.*\z//ms; @@ -119,10 +129,7 @@ sub index_entry { $rv .= "<a\nhref=\"$txt\">raw</a> "; $rv .= html_footer($mime, 0); - my $irp = $header_obj->header_raw('In-Reply-To'); if (defined $irp) { - my $anchor_idx = anchor_for($irp); - my $anchor = $seen->{$anchor_idx}; unless (defined $anchor) { my $v = PublicInbox::Hval->new_msgid($irp); my $html = $v->as_html; |