X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2FPublicInbox%2FView.pm;h=ca02ae057f2343ad4d66f9202a8563ccfc46c6ac;hb=7ee3643af9b72cad2abf9cde4a48e389550ad71b;hp=069b96806e3af4e331bcb5e70f840902ec52f8d8;hpb=a29d72521f20576916e4c407263566cfa972416b;p=public-inbox.git diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 069b9680..ca02ae05 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -533,6 +533,7 @@ sub attach_link ($$$$;$) { my $nl = $idx eq '1' ? '' : "\n"; # like join("\n", ...) my $size = length($part->body); + delete $part->{bdy}; # save memory # hide attributes normally, unless we want to aid users in # spotting MUA problems: @@ -585,7 +586,7 @@ sub add_text_body { # callback for each_part # makes no difference to browsers, and don't screw up filename # link generation in diffs with the extra '%0D' - $s =~ s/\r\n/\n/sg; + $s =~ s/\r+\n/\n/sg; # will be escaped to `•' in HTML obfuscate_addrs($ibx, $s, "\x{2022}") if $ibx->{obfuscate}; @@ -624,9 +625,6 @@ sub add_text_body { # callback for each_part $ctx->{-spfx} = $spfx; }; - # some editors don't put trailing newlines at the end: - $s .= "\n" unless $s =~ /\n\z/s; - # split off quoted and unquoted blocks: my @sections = PublicInbox::MsgIter::split_quotes($s); undef $s; # free memory @@ -635,6 +633,7 @@ sub add_text_body { # callback for each_part attach_link($ctx, $ct, $p, $fn, $err); $$rv .= "\n"; } + delete $part->{bdy}; # save memory foreach my $cur (@sections) { if ($cur =~ /\A>/) { # we use a here to allow users to specify @@ -979,7 +978,7 @@ sub skel_dump { # walk_thread callback $$skel .= delete($ctx->{sl_note}) || ''; } - my $f = ascii_html($smsg->{from_name}); + my $f = ascii_html(delete $smsg->{from_name}); my $obfs_ibx = $ctx->{-obfs_ibx}; obfuscate_addrs($obfs_ibx, $f) if $obfs_ibx; @@ -1074,10 +1073,10 @@ sub _skel_ghost { } sub sort_ds { - [ sort { + @{$_[0]} = sort { (eval { $a->topmost->{ds} } || 0) <=> (eval { $b->topmost->{ds} } || 0) - } @{$_[0]} ]; + } @{$_[0]}; } # accumulate recent topics if search is supported