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.
37 lines
1.4 KiB
37 lines
1.4 KiB
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 |
|
|
|
|