]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/ViewDiff.pm
quiet "Complex regular subexpression recursion limit" warnings
[public-inbox.git] / lib / PublicInbox / ViewDiff.pm
index d22c80b97b4871a00dba47f3e8b055bd1659ab06..5d391a13e0e0b869cac074761e7f716207b643cc 100644 (file)
@@ -202,6 +202,17 @@ sub flush_diff ($$$) {
                        $dctx = diff_header($dst, \$x, $ctx, \@top);
                } elsif ($dctx) {
                        my $after = '';
+
+                       # Quiet "Complex regular subexpression recursion limit"
+                       # warning.  Perl will truncate matches upon hitting
+                       # that limit, giving us more (and shorter) scalars than
+                       # would be ideal, but otherwise it's harmless.
+                       #
+                       # We could replace the `+' metacharacter with `{1,100}'
+                       # to limit the matches ourselves to 100, but we can
+                       # let Perl do it for us, quietly.
+                       no warnings 'regexp';
+
                        for my $s (split(/((?:(?:^\+[^\n]*\n)+)|
                                        (?:(?:^-[^\n]*\n)+)|
                                        (?:^@@ [^\n]+\n))/xsm, $x)) {