about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-01-25 04:44:54 +0000
committerEric Wong <e@yhbt.net>2020-01-27 02:59:09 +0000
commit23626f154849c991710a372c29da5d07bca36005 (patch)
tree2651dd46b15ab214dc454730c8c82ce82d96bcd1
parent0d41983a642b4dccb90d04c4e2c5e2602885444c (diff)
downloadpublic-inbox-23626f154849c991710a372c29da5d07bca36005.tar.gz
It hasn't changed in a few years.  Now we can rely on constant
folding to avoid extraneous ops to the $skel buffer.
-rw-r--r--lib/PublicInbox/View.pm28
1 files changed, 15 insertions, 13 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 0eb20ae0..b86c7bda 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -719,32 +719,34 @@ sub _msg_html_prepare {
         $rv .= "\n";
 }
 
-sub thread_skel {
-        my ($skel, $ctx, $hdr, $tpfx) = @_;
+sub SKEL_EXPAND () {
+        qq(expand[<a\nhref="T/#u">flat</a>) .
+                qq(|<a\nhref="t/#u">nested</a>]  ) .
+                qq(<a\nhref="t.mbox.gz">mbox.gz</a>  ) .
+                qq(<a\nhref="t.atom">Atom feed</a>);
+}
+
+sub thread_skel ($$$) {
+        my ($skel, $ctx, $hdr) = @_;
         my $mid = mids($hdr)->[0];
         my $ibx = $ctx->{-inbox};
         my ($nr, $msgs) = $ibx->over->get_thread($mid);
-        my $expand = qq(expand[<a\nhref="${tpfx}T/#u">flat</a>) .
-                        qq(|<a\nhref="${tpfx}t/#u">nested</a>]  ) .
-                        qq(<a\nhref="${tpfx}t.mbox.gz">mbox.gz</a>  ) .
-                        qq(<a\nhref="${tpfx}t.atom">Atom feed</a>);
-
         my $parent = in_reply_to($hdr);
         $$skel .= "\n<b>Thread overview: </b>";
         if ($nr <= 1) {
                 if (defined $parent) {
-                        $$skel .= "$expand\n ";
-                        $$skel .= ghost_parent("$tpfx../", $parent) . "\n";
+                        $$skel .= SKEL_EXPAND."\n ";
+                        $$skel .= ghost_parent('../', $parent) . "\n";
                 } else {
-                        $$skel .= "[no followups] $expand\n";
+                        $$skel .= '[no followups] '.SKEL_EXPAND."\n";
                 }
                 $ctx->{next_msg} = undef;
                 $ctx->{parent_msg} = $parent;
                 return;
         }
 
-        $$skel .= "$nr+ messages / $expand";
-        $$skel .= qq!  <a\nhref="#b">top</a>\n!;
+        $$skel .= $nr;
+        $$skel .= '+ messages / '.SKEL_EXPAND.qq!  <a\nhref="#b">top</a>\n!;
 
         # nb: mutt only shows the first Subject in the index pane
         # when multiple Subject: headers are present, so we follow suit:
@@ -806,7 +808,7 @@ sub html_footer {
         my $rv = '<pre>';
         if ($ibx->over) {
                 $skel .= "\n";
-                thread_skel(\$skel, $ctx, $hdr, '');
+                thread_skel(\$skel, $ctx, $hdr);
                 my ($next, $prev);
                 my $parent = '       ';
                 $next = $prev = '    ';