lib/PublicInbox/View.pm | 22 +++++++++++----------- diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index e6d30a850a8bb36e1c47149dad34ade5b7c4ef05..e8ec0ed2eaa23fe84751b351aecf361bd5065a64 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -207,8 +207,6 @@ my $s = add_text_body($upfx, $p); return if $s eq ''; - $s .= "\n"; # ensure there's a trailing newline - $fh->write($s); } @@ -219,9 +217,7 @@ # scan through all parts, looking for displayable text msg_iter($mime, sub { my ($p) = @_; - $p = add_text_body($upfx, $p); - $rv .= $p; - $rv .= "\n" if $p ne ''; + $rv .= add_text_body($upfx, $p); }); $rv; } @@ -234,7 +230,7 @@ # short version (see above) my $rv = $l->linkify_1(join('', @$quot)); @$quot = (); - # we use a
here to allow users to specify their own + # we use a here to allow users to specify their own # color for quoted text $rv = $l->linkify_2(ascii_html($rv)); $$s .= qq() . $rv . '' @@ -263,7 +259,7 @@ } my @ret = qq($nl[-- Attachment #$idx: ); my $ts = "Type: $ct, Size: $size bytes"; push(@ret, ($desc eq '') ? "$ts --]" : "$desc --]\n[-- $ts --]"); - join('', @ret, ''); + join('', @ret, "\n"); } sub add_text_body { @@ -285,7 +281,7 @@ my @lines = split(/^/m, $s); $s = ''; if (defined($fn) || $depth > 0) { $s .= attach_link($upfx, $ct, $p, $fn); - $s .= "\n\n"; + $s .= "\n"; } my @quot; my $l = PublicInbox::Linkify->new; @@ -303,11 +299,15 @@ push @quot, $cur; } } - flush_quote(\$s, $l, \@quot) if @quot; + my $end = "\n"; + if (@quot) { + $end = ''; + flush_quote(\$s, $l, \@quot); + } $s =~ s/[ \t]+$//sgm; # kill per-line trailing whitespace $s =~ s/\A\n+//s; # kill leading blank lines - $s =~ s/\s+\z//s; # kill all trailing spaces (final "\n" added if ne '') - $s; + $s =~ s/\s+\z//s; # kill all trailing spaces + $s .= $end; } sub _msg_html_prepare {