]> Sergey Matveev's repositories - public-inbox.git/commitdiff
viewdiff: remove optional CR handling
authorEric Wong <e@yhbt.net>
Mon, 24 Feb 2020 07:33:27 +0000 (07:33 +0000)
committerEric Wong <e@yhbt.net>
Mon, 24 Feb 2020 18:30:12 +0000 (18:30 +0000)
The only caller of `flush_diff' is `add_text_body', and that
already did CRLF conversion on the text part.  The regexps in
SolverGit still need to preserve CR, however, since that
actually applies patches (instead of rendering them), and we
need to preserve CRLF patches for CRLF files.

lib/PublicInbox/ViewDiff.pm

index 604b1f23e5dbe9d509416b28914444005adece2b..0f5c0e4e6128006e738620fe1f2b404a1e1b0e9f 100644 (file)
@@ -150,8 +150,8 @@ sub diff_header ($$$$) {
 sub diff_before_or_after ($$$) {
        my ($dst, $ctx, $x) = @_;
        my $linkify = $ctx->{-linkify};
-       for my $y (split(/(^---\r?\n)/sm, $$x)) {
-               if ($y =~ /\A---\r?\n\z/s) {
+       for my $y (split(/(^---\n)/sm, $$x)) {
+               if ($y =~ /\A---\n\z/s) {
                        $$dst .= "---\n"; # all HTML is "\r\n" => "\n"
                } elsif ($y =~ /^ [0-9]+ files? changed, /sm) {
                        # ok, looks like a diffstat, go line-by-line:
@@ -167,11 +167,12 @@ sub diff_before_or_after ($$$) {
        }
 }
 
+# callers must do CRLF => LF conversion before calling this
 sub flush_diff ($$$) {
        my ($dst, $ctx, $cur) = @_;
-       state $LF = qr!\r?\n!;
-       state $ANY = qr![^\r\n]!;
-       state $FN = qr!(?:"?[^/\n]+/[^\r\n]+|/dev/null)!;
+       state $LF = qr!\n!;
+       state $ANY = qr![^\n]!;
+       state $FN = qr!(?:"?[^/\n]+/[^\n]+|/dev/null)!;
 
        my @top = split(/(
                (?:     # begin header stuff, don't capture filenames, here,