On Sun, 2020-07-26 at 09:45 +0200, SeongJae Park wrote: > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > @@ -721,6 +721,7 @@ sub read_word_corrections { > my %deprecated_terms_fix; > read_word_corrections($deprecated_terms_file, \%deprecated_terms_fix); > my $deprecated_terms = join("|", sort keys %deprecated_terms_fix) if keys > %deprecated_terms_fix; > +my %deprecated_terms_reported = map { $_ => 1 }
overly verbose naming and this doesn't need initialization here. > @@ -2975,13 +2976,16 @@ sub process { > ($in_commit_log || $line =~ /^(?:\+|Subject:)/i)) { > while ($rawline =~ > /(?:^|[^a-z@])($deprecated_terms)(?:\b|$|[^a-z@])/gi) { > my $deprecated_term = $1; > + last if > (exists($deprecated_terms_reported{$deprecated_term})); next if (...) to check if multiple terms exists on the same line > + $deprecated_terms_reported{$deprecated_term} = > 1; > + But this does need to be reset to empty when checking the next file > my $suggested = > $deprecated_terms_fix{lc($deprecated_term)}; > $suggested = ucfirst($suggested) if > ($deprecated_term=~ /^[A-Z]/); > $suggested = uc($suggested) if > ($deprecated_term =~ /^[A-Z]+$/); > my $msg_level = \&WARN; > $msg_level = \&CHK if ($file); > if (&{$msg_level}("DEPRECATED_TERM", > - "Use of '$deprecated_term' is > deprecated, please '$suggested', instead.\n" . $herecurr) && > + "Use of '$deprecated_term' is > controversial - if not required by specification, perhaps '$suggested' > instead. See: scripts/deprecated_terms.txt\n" . $herecurr) && > $fix) { > $fixed[$fixlinenr] =~ > s/(^|[^A-Za-z@])($deprecated_term)($|[^A-Za-z@])/$1$suggested$3/; I think it simpler to avoid emitting this on existing files. I do not want to encourage relatively inexperienced people to run checkpatch and submit inappropriate patches.