Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp264867pxf; Thu, 25 Mar 2021 03:40:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxrsWWLmssbsYDdwlMTsQf/JgzM0FlOvQRJdYIDFr52PPTKic/m8YWScIXxz4q7CXLYuHKS X-Received: by 2002:aa7:cd54:: with SMTP id v20mr8357727edw.80.1616668853951; Thu, 25 Mar 2021 03:40:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616668853; cv=none; d=google.com; s=arc-20160816; b=ThIhH5d6hAAEro+u3Q9xKbWeg9q0rJQfRoOVHkPv3oeUSPWgfz79TtP5Wzbu6kpDi/ PtFHIN6EV19bI6DlZ6k3til9r/QeTKI5F+RezyNHUc3z7S9SlWgyM/+F0sQZe7gZTCMR zN19QRBvaRyYfXyX/kGVzDCtUs9X5vpgzLHRCGwXXeGy+cTBvUzKbIJ4dhbEXlrcW6Kv 9y5kDnhXgr977x1a/TQVyQrXp42xuFlS3s322aXCzBklwN/cXKBdlTyyaFPZgBgI9sN0 YAX9yt5O+xg4vovL4SUBIOecHVwxBH0p1jDjfEd0kwwuNYb1udmcSDEYn2ZOi187gL9a Z6jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qqvlR4q6hj7nXEBS3eMsVZ6RCoB0Lc2rmOkT+eDIw38=; b=QOQ+6YBDQKHEW2CdoBBnpbJlnEAeeegTEIt/ePa7m6IFVGQ5r/AdAhjgku7ZmoWots SYzvBygxyfL2rfFZglORfgM3uCV0NgVCuCVrDsNQxEgfPt7ECxn5vnTM/YoSm3dmj0Jg 4BESq5gvOrH9XKNWBusGDdsz3TaghSVN12E5tkRsOZX6e8EWGo5K77dnmNdQ7u23uNy+ gruoo1AWt3LN4x4G30wAJbzvZvABogS8MezSpV8yJQkAiI5LF/m5H7XUVk+//dx5vQxi nw2dlYOO2PtKqr1q38bNVaF6ZFD8lnU+3A8w9d34uMBlpksaxkD9OyHxOzBtpb9cq0yF tT0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r8JCc4UN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w10si3773916edd.483.2021.03.25.03.40.30; Thu, 25 Mar 2021 03:40:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=r8JCc4UN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230339AbhCYKjK (ORCPT + 99 others); Thu, 25 Mar 2021 06:39:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:53544 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230163AbhCYKic (ORCPT ); Thu, 25 Mar 2021 06:38:32 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D7A50619FE; Thu, 25 Mar 2021 10:38:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1616668712; bh=XdWrZeI0OJ0qNfVpkg0AQG7GblnuxxssfsvEd5dtxGo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r8JCc4UN6XrxF1KDnxhuZzWRfFmh28bw54uWoNVGBVodNE/Ml8d2FlAMIgLK6cUwR 5YDiA6jC5xPRfmXHd6XQMdaxN7SQuELCS1fUR2WSQyAWkthMlGW8OSpyRDsoyg6/+g YHS1mXuR1YR+1l4uKYAkCBmz4zljMhNRd7n5flrzNmH7sg6ksp903JtiP1nbq+GEUR djUKdRCQZCDMdaMALq1lZa5MzXJdpv+tcmXLPcwoPUQ+WkelvE3t7QhKk5KQOI+VaB G2JCFq1Tw+xSBQq9wVK6kmKldHpxWh9FwFZBKRnhqZ/Gr8AsY/w6eRsUc84VOwjH9i 0Y9lpAklLKI1g== Received: by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1lPNNl-001Ava-A5; Thu, 25 Mar 2021 11:38:29 +0100 From: Mauro Carvalho Chehab To: Linux Doc Mailing List , Jonathan Corbet , Andrew Morton Cc: Mauro Carvalho Chehab , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: [PATCH v2 5/7] scripts: get_abi.pl: parse description line per line Date: Thu, 25 Mar 2021 11:38:26 +0100 Message-Id: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Change the description parsing logic in rst mode in order to parse it line per line. The end result is the same, but doing line per line allows to add some code to escape literal blocks when seeking for cross-references. Signed-off-by: Mauro Carvalho Chehab --- scripts/get_abi.pl | 47 ++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl index eb1a23103afa..e5d1da492c1e 100755 --- a/scripts/get_abi.pl +++ b/scripts/get_abi.pl @@ -381,34 +381,41 @@ sub output_rest { # Enrich text by creating cross-references - $desc =~ s,Documentation/(?!devicetree)(\S+)\.rst,:doc:`/$1`,g; + my $new_desc = ""; + open(my $fh, "+<", \$desc); + while (my $d = <$fh>) { + $d =~ s,Documentation/(?!devicetree)(\S+)\.rst,:doc:`/$1`,g; - my @matches = $desc =~ m,Documentation/ABI/([\w\/\-]+),g; - foreach my $f (@matches) { - my $xref = $f; - my $path = $f; - $path =~ s,.*/(.*/.*),$1,;; - $path =~ s,[/\-],_,g;; - $xref .= " "; - $desc =~ s,\bDocumentation/ABI/$f\b,:ref:`$xref`,g; - } + my @matches = $d =~ m,Documentation/ABI/([\w\/\-]+),g; + foreach my $f (@matches) { + my $xref = $f; + my $path = $f; + $path =~ s,.*/(.*/.*),$1,;; + $path =~ s,[/\-],_,g;; + $xref .= " "; + $d =~ s,\bDocumentation/ABI/$f\b,:ref:`$xref`,g; + } - # Seek for cross reference symbols like /sys/... - @matches = $desc =~ m/$xref_match/g; + # Seek for cross reference symbols like /sys/... + @matches = $d =~ m/$xref_match/g; - foreach my $s (@matches) { - next if (!($s =~ m,/,)); - if (defined($data{$s}) && defined($data{$s}->{label})) { - my $xref = $s; + foreach my $s (@matches) { + next if (!($s =~ m,/,)); + if (defined($data{$s}) && defined($data{$s}->{label})) { + my $xref = $s; - $xref =~ s/$symbols/\\$1/g; - $xref = ":ref:`$xref <" . $data{$s}->{label} . ">`"; + $xref =~ s/$symbols/\\$1/g; + $xref = ":ref:`$xref <" . $data{$s}->{label} . ">`"; - $desc =~ s,$start$s$bondary,$1$xref$2,g; + $d =~ s,$start$s$bondary,$1$xref$2,g; + } } + $new_desc .= $d; } + close $fh; + - print "$desc\n\n"; + print "$new_desc\n\n"; } else { $desc =~ s/^\s+//; -- 2.30.2