Re: [PATCH, v2] checkpatch: Warn on code with 6+ tab indentation, remove 80col warning

Pekka Enberg
2012-02-04T19:32:37Z

On Sat, Feb 4, 2012 at 9:27 PM, Joe Perches <joe@perches.com> wrote:
>> The practical downsides of the current warning are much more severe. I
>> personally don't use checkpatch much these days because of the silly
>> fixed limit.
>
> More likely you developed a keen sense of
> kernel style appropriateness and don't need
> any checkpatch nannying.

No, it just means more trivially fixable issues slip through the cracks.

On Sat, Feb 4, 2012 at 9:27 PM, Joe Perches <joe@perches.com> wrote:
> I don't disagree with something like setting
> the normally allowed line length to 100 and
> maybe keeping a --strict limit to 80.
>
> Something like:
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 2b52aeb..7602bce 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -34,6 +34,9 @@ my @ignore = ();
>  my $help = 0;
>  my $configuration_file = ".checkpatch.conf";
>
> +my $max_line_length_warn = 100;                # normal cases
> +my $max_line_length_strict = 80;       # when using --strict
> +
>  sub help {
>        my ($exitcode) = @_;
>
> @@ -1726,15 +1729,19 @@ sub process {
>  # check we are in a valid source file if not then ignore this hunk
>                next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/);
>
> -#80 column limit
> +# check line length limit
>                if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ &&
>                    $rawline !~ /^.\s*\*\s*\@$Ident\s/ &&
>                    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:|,|\)\s*;)\s*$/ ||
> -                   $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
> -                   $length > 80)
> -               {
> -                       WARN("LONG_LINE",
> -                            "line over 80 characters\n" . $herecurr);
> +                   $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) {
> +                       if ($length > $max_line_len_strict) {
> +                               CHK("LONG_LINE",
> +                                    "line over $max_line_len_strict characters\n" . $herecurr);
> +                       }
> +                       if ($length > $max_line_len_warn) {
> +                               WARN("LONG_LINE",
> +                                    "line over $max_line_len_warn characters\n" . $herecurr);
> +                       }
>                }
>
>  # check for spaces before a quoted newline

I'm fine with something like this too.