From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id D17371FEDF; Sun, 31 Aug 2014 02:55:20 +0000 (UTC) Date: Sun, 31 Aug 2014 02:55:20 +0000 From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] view: show quotes in index if parent is too old Message-ID: <20140831025520.GA6601@dcvr.yhbt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline List-Id: It's helpful to show context if a message does not appear on the current index page. --- lib/PublicInbox/View.pm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index d1bb935..c1a5fbb 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -76,6 +76,13 @@ sub index_entry { $rv .= "$pfx$subj $from - $ts\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 .= "raw "; $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; -- EW