By matching only current line starting with '+', we miss the case when deleting code makes consecutive blank lines appear: this patch then makes it possible to detect this case by also matching current line starting with ' ', which is an already existing blank line.
Signed-off-by: Alexandre Ghiti <a...@ghiti.fr> --- Changes in v3 as suggested by Joe Perches: - Do not try to fix this case - Make this test separate from the insertion one so that warning is more explicit Changes in v2: - Fix the --fix option scripts/checkpatch.pl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index b737ca9d7204..c0728cff292f 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3296,7 +3296,7 @@ sub process { } } -# check for multiple consecutive blank lines +# check for multiple consecutive blank lines caused by blank line insertion if ($prevline =~ /^[\+ ]\s*$/ && $line =~ /^\+\s*$/ && $last_blank_line != ($linenr - 1)) { @@ -3309,6 +3309,16 @@ sub process { $last_blank_line = $linenr; } +# check for multiple consecutive blank lines caused by code deletion + if ($prevline =~ /^[\+ ]\s*$/ && + $line =~ /^ \s*$/ && + $last_blank_line != ($linenr - 1)) { + CHK("LINE_SPACING", + "Avoid deleting lines that create consecutive blank lines\n" . $hereprev); + + $last_blank_line = $linenr; + } + # check for missing blank lines after declarations if ($sline =~ /^\+\s+\S/ && #Not at char 1 # actual declarations -- 2.20.1