From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.3 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 885DEC433DF for ; Sat, 17 Oct 2020 07:52:03 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A4D22072D for ; Sat, 17 Oct 2020 07:52:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OXsrb1bm" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A4D22072D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-kernel-mentees-bounces@lists.linuxfoundation.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id B9D7888DBA; Sat, 17 Oct 2020 07:52:02 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r1pvP02Fky90; Sat, 17 Oct 2020 07:51:59 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 3D82B88D45; Sat, 17 Oct 2020 07:51:59 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2E1E8C07FF; Sat, 17 Oct 2020 07:51:59 +0000 (UTC) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id F2543C0051 for ; Sat, 17 Oct 2020 07:51:57 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E0A4D8846E for ; Sat, 17 Oct 2020 07:51:57 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WozgPQrKamM3 for ; Sat, 17 Oct 2020 07:51:57 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by hemlock.osuosl.org (Postfix) with ESMTPS id 32DB388469 for ; Sat, 17 Oct 2020 07:51:57 +0000 (UTC) Received: by mail-pg1-f193.google.com with SMTP id n9so2805831pgt.8 for ; Sat, 17 Oct 2020 00:51:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ieRlNgPHBAGbi6ikKKJ3AXzMP9jjGJKj6Jv32R1alc0=; b=OXsrb1bmQxi4DbWtQdmiqD7RPR5zIb6GBKE765xITMw3lNXoCDAZC/4YyXtI2Pz121 hDvE87Yiyv5xwFsDmfl1iPnu5yo8PaiwnPG6e9+x+z6OfrRziL/UWEj707U3sEtrlA+F YcooKsaQ1qKJejPnSa2HkmDYeZizrQNxRSbQargzJxwS0PVIpadlVsi35PJ2xhPPr3HX 3kBssc7Bdk4hG8kSYdLx6/ON/cpgE/5pS3m0/266rH1XpF63KLLswqsL5lbysIlBOKLZ l5FXGIqmbQmdGt9qRhwLwvuAuifC8yXYFoKi/YmKMGKwA+KUYccHqvDQ/K64YytEy4oQ UEgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ieRlNgPHBAGbi6ikKKJ3AXzMP9jjGJKj6Jv32R1alc0=; b=eKzHmnTVo27AV96200nFl0oNBSVNOEJtnOHKQjBwNlkO0opehw6sL6RhSRfZwRBBOp o5TYMHC7HUBrOMZqWorn0MkDV5ZT4eS3BO24pwKeH0HajssNSUb0PpC9zC3qk4dftYMa rvwXYymoHNZ3Em1uKsxosyNszZzj7DQuyNNmgOQRJj2gcqUU3MNzctcxg19t+0HfHihP LSJhcgZRBp8sl/Djo+jMuG4qdxQ3OahbqHcIukhAFq+AnxNeDvoEiYx6CQ/kzmqoRsiJ 6Wg0QRVvKUIz0mH3TFNP/MFCtU9RtIhIOay7mQAGtVuwckIqekFvNmqK/LR0sR6m3XGZ CsVw== X-Gm-Message-State: AOAM53338aSV8rTmcGLtikcCjM72dZF1Bjz2aVdPqYca3heMTcOfI2cN rGxuJ70Yo1u0hFuzB9BuXzg= X-Google-Smtp-Source: ABdhPJzofSdFAL+b24AjD7ILZ385ACUFzCnYfzbnhkskuCrjG81yb+qPa0HDOo2DX1Wvfo3UuoM2Cg== X-Received: by 2002:a63:b348:: with SMTP id x8mr6531478pgt.207.1602921116555; Sat, 17 Oct 2020 00:51:56 -0700 (PDT) Received: from localhost.localdomain ([2405:201:9004:68e2:46b7:2869:5094:8e3e]) by smtp.gmail.com with ESMTPSA id s186sm5131335pfs.51.2020.10.17.00.51.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Oct 2020 00:51:55 -0700 (PDT) From: Dwaipayan Ray To: joe@perches.com Date: Sat, 17 Oct 2020 13:21:31 +0530 Message-Id: <20201017075131.47566-1-dwaipayanray1@gmail.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Cc: dwaipayanray1@gmail.com, linux-kernel-mentees@lists.linuxfoundation.org, linux-kernel@vger.kernel.org Subject: [Linux-kernel-mentees] [PATCH v4] checkpatch: add new exception to repeated word check X-BeenThere: linux-kernel-mentees@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-kernel-mentees-bounces@lists.linuxfoundation.org Sender: "Linux-kernel-mentees" Recently, commit 4f6ad8aa1eac ("checkpatch: move repeated word test") moved the repeated word test to check for more file types. But after this, if checkpatch.pl is run on MAINTAINERS, it generates several new warnings of the type: WARNING: Possible repeated word: 'git' For example: WARNING: Possible repeated word: 'git' +T: git git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml.git So, the pattern "git git://..." is a false positive in this case. There are several other combinations which may produce a wrong warning message, such as "@size size", ":Begin begin", etc. Extend repeated word check to compare the characters before and after the word matches. If the preceding or succeeding character belongs to the exception list, the warning is avoided. Link: https://lore.kernel.org/linux-kernel-mentees/81b6a0bb2c7b9256361573f7a13201ebcd4876f1.camel@perches.com/ Suggested-by: Joe Perches Suggested-by: Lukas Bulwahn Signed-off-by: Dwaipayan Ray --- scripts/checkpatch.pl | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index f1a4e61917eb..5dc5bf75c6e7 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3052,19 +3052,30 @@ sub process { # check for repeated words separated by a single space if ($rawline =~ /^\+/ || $in_commit_log) { + pos($rawline) = 1 if (!$in_commit_log); while ($rawline =~ /\b($word_pattern) (?=($word_pattern))/g) { my $first = $1; my $second = $2; - + my $start_pos = $-[1]; + my $end_pos = $+[2]; if ($first =~ /(?:struct|union|enum)/) { pos($rawline) += length($first) + length($second) + 1; next; } - next if ($first ne $second); + next if (lc($first) ne lc($second)); next if ($first eq 'long'); + # check for character before and after the word matches + my $start_char = ''; + my $end_char = ''; + $start_char = substr($rawline, $start_pos - 1, 1) if ($start_pos > ($in_commit_log? 0 : 1)); + $end_char = substr($rawline, $end_pos, 1) if ($end_pos < length($rawline)); + + next if ($start_char =~ /^\S$/); + next if ($end_char !~ /^[\.\,\;\?\!\s]?$/); + if (WARN("REPEATED_WORD", "Possible repeated word: '$first'\n" . $herecurr) && $fix) { -- 2.27.0 _______________________________________________ Linux-kernel-mentees mailing list Linux-kernel-mentees@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees