You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
7 years ago
|
From 1d9a0018f9cde8fc5c59df9af70a2164e672210f Mon Sep 17 00:00:00 2001
|
||
|
From: Lubos Kardos <lkardos@redhat.com>
|
||
|
Date: Wed, 25 Nov 2015 13:49:01 +0100
|
||
|
Subject: [PATCH] Improve perl.req script
|
||
|
|
||
|
This commit 0d5929ba5eabadec49273bb090ba9158dfccc30c tries to ignore
|
||
|
"use" and "require" within multi-line print statements that start with
|
||
|
line like this "print <<EOF" but it incorrectly parses lines in
|
||
|
following format "print <<EOF unless $o" and every "use" or "require"
|
||
|
below this line to the end of file is ignored. That causes that some
|
||
|
requires which was previously found are not found now. This commit
|
||
|
fixes this problem (#1268021).
|
||
|
---
|
||
|
scripts/perl.req | 6 +++---
|
||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/perl.req b/scripts/perl.req
|
||
|
index 6e53c91..f1000c8 100755
|
||
|
--- a/scripts/perl.req
|
||
|
+++ b/scripts/perl.req
|
||
|
@@ -163,10 +163,10 @@ sub process_file {
|
||
|
# within a multi-line print statement. So, let's skip over such print
|
||
|
# statements whose content should not be loading modules anyway. -BEF-
|
||
|
#
|
||
|
- if ( m/print(\s+|\s+\S+\s+)\<\<(.*)/g ) {
|
||
|
+ if (m/print(?:\s+|\s+\S+\s+)\<\<\s*(["'`])(.+?)\1/ ||
|
||
|
+ m/print(\s+|\s+\S+\s+)\<\<(\w+)/) {
|
||
|
+
|
||
|
my $tag = $2;
|
||
|
- $tag =~ s/^\s*['"]?//; # strip off leading space and quote
|
||
|
- $tag =~ s/["']?\s*;\s*$//; # strip off trailing quote and space and semicolon
|
||
|
while (<FILE>) {
|
||
|
chomp;
|
||
|
( $_ eq $tag ) && last;
|
||
|
--
|
||
|
2.5.5
|
||
|
|