OSDN Git Service

checkpatch: Fix whitespace checks for documentation code blocks
authorLluís Vilanova <vilanova@ac.upc.edu>
Wed, 7 Sep 2016 12:49:04 +0000 (14:49 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 13 Sep 2016 17:09:44 +0000 (19:09 +0200)
Prevent blank lines in documentation code blocks to be signalled as
incorrect trailing whitespace.

Code blocks in documentation are 4-column aligned, and blank lines in
them should have exactly 4 columns of trailing whitespace to prevent
QEMU's wiki to render them as separate code blocks.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Message-Id: <147325254382.22644.5531276787733455773.stgit@fimbulvetr.bsc.es>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
scripts/checkpatch.pl

index b0096a4..dde3f5f 100755 (executable)
@@ -1320,6 +1320,16 @@ sub process {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
                        ERROR("DOS line endings\n" . $herevet);
 
+               } elsif ($realfile =~ /^docs\/.+\.txt/ ||
+                        $realfile =~ /^docs\/.+\.md/) {
+                   if ($rawline =~ /^\+\s+$/ && $rawline !~ /^\+ {4}$/) {
+                       # TODO: properly check we're in a code block
+                       #       (surrounding text is 4-column aligned)
+                       my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+                       ERROR("code blocks in documentation should have " .
+                             "empty lines with exactly 4 columns of " .
+                             "whitespace\n" . $herevet);
+                   }
                } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
                        my $herevet = "$here\n" . cat_vet($rawline) . "\n";
                        ERROR("trailing whitespace\n" . $herevet);