Update to 1.134

- New upstream release 1.134
  New Features
  - Added new policy BuiltinFunctions::ProhibitShiftRef (GH#837)
  - Support indented heredocs (GH#861)
  - In Subroutines::ProhibitManyArgs, you can now omit the object variable
    (C<$self> or C<$class>) from the argument count (GH#815)
  Policy Changes
  - The policy Documentation::RequirePodLinksIncludeText is obsolete and has
    been removed (GH#494)
  Dependencies
  - Removed use of File::HomeDir
  - Upgrade to PPI 1.265 (GH#860)
  - Fix failed tests caused by new PPI (GH#858)
  Internals
  - Updated the Appveyor config (GH#851)
This commit is contained in:
Paul Howarth 2019-05-23 11:35:47 +01:00
parent b8cc7ee9fc
commit 6f1efc0ef8
4 changed files with 223 additions and 65 deletions

View File

@ -1,4 +1,4 @@
From d83901363a9992a0a81b0580e809b30fa5ac3962 Mon Sep 17 00:00:00 2001
From 2396c458927b78ee5616e322ae5ac2c55dd6503e Mon Sep 17 00:00:00 2001
From: Paul Howarth <paul@city-fan.org>
Date: Fri, 21 Jul 2017 11:50:35 +0100
Subject: [PATCH] Change default spell check tool from aspell to hunspell
@ -17,34 +17,72 @@ problems with ASCII apostrophes, thus flagging errors for words
like "doesn't", "isn't" etc., which makes 1.2.12 pretty much a
minimum version requirement if incorporating this change.
---
.travis.yml | 4 ++--
.../Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm | 2 +-
lib/Perl/Critic/Policy/Documentation/PodSpelling.pm | 20 ++++++++++----------
.../RequireCheckingReturnValueOfEval.pm | 2 +-
.../Critic/Policy/Modules/RequireBarewordIncludes.pm | 2 ++
.../RegularExpressions/ProhibitComplexRegexes.pm | 2 +-
.../Policy/Variables/RequireLexicalLoopIterators.pm | 2 +-
t/20_policy_pod_spelling.t | 4 ++--
xt/40_perlcriticrc-code | 2 +-
9 files changed, 21 insertions(+), 19 deletions(-)
.travis.yml | 4 ++--
bin/perlcritic | 2 +-
.../BuiltinFunctions/ProhibitBooleanGrep.pm | 2 ++
.../BuiltinFunctions/ProhibitLvalueSubstr.pm | 2 +-
.../BuiltinFunctions/ProhibitShiftRef.pm | 2 +-
.../Policy/Documentation/PodSpelling.pm | 20 +++++++++----------
.../RequireCheckingReturnValueOfEval.pm | 2 +-
.../Policy/Modules/RequireBarewordIncludes.pm | 2 ++
.../ProhibitCaptureWithoutTest.pm | 2 ++
.../ProhibitComplexRegexes.pm | 2 +-
.../ProhibitFixedStringMatches.pm | 2 ++
.../ProhibitSingleCharAlternation.pm | 2 ++
.../ProhibitUnusedCapture.pm | 2 +-
.../ProhibitUnusualDelimiters.pm | 2 ++
.../RequireBracesForMultiline.pm | 2 ++
.../Variables/ProhibitPunctuationVars.pm | 2 ++
.../Variables/RequireLexicalLoopIterators.pm | 2 +-
lib/Perl/Critic/Utils.pm | 2 ++
lib/Perl/Critic/Utils/PPI.pm | 2 +-
t/20_policy_pod_spelling.t | 4 ++--
xt/40_perlcriticrc-code | 2 +-
21 files changed, 41 insertions(+), 23 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 6eeb384..c068d44 100644
index c907085f..9a01a667 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -30,8 +30,8 @@ notifications:
@@ -2,8 +2,8 @@
addons:
apt:
packages:
- - aspell
- - aspell-en
+ - hunspell
+ - hunspell-en-us
- - aspell
- - aspell-en
+ - hunspell
+ - hunspell-en-us
language: perl
perl:
# blead and dev don't play nicely with Module::Build
diff --git a/bin/perlcritic b/bin/perlcritic
index e9455658..08f8f0ec 100644
--- a/bin/perlcritic
+++ b/bin/perlcritic
@@ -30,7 +30,7 @@ __END__
=for stopwords DGR INI-style vim-fu minibuffer -noprofile API
-profileproto -profile-proto ben Jore formatter Peshak pbp Komodo
-screenshots tty emacs gVIM plugin Perlish templating ActivePerl
+screenshots tty emacs grep gVIM plugin Perlish templating ActivePerl
ActiveState Twitter
install:
=head1 NAME
diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm
index 26ee6107..876e5ed6 100644
--- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm
+++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm
@@ -86,6 +86,8 @@ __END__
=pod
+=for stopwords grep
+
=head1 NAME
Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep - Use C<List::MoreUtils::any> instead of C<grep> in boolean context.
diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm
index dccaab0..1270780 100644
index 53187398..4fa75fe0 100644
--- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm
+++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm
@@ -64,7 +64,7 @@ __END__
@ -56,8 +94,21 @@ index dccaab0..1270780 100644
=head1 NAME
diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm
index 6fed7ef9..32d01e92 100644
--- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm
+++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm
@@ -94,7 +94,7 @@ modules.
=head2 Background
Often, C<\shift> is used to create references that act much like an alias. By
-creating an alias that is named, the code becomes more readable. For example,
+creating an 'alias' that is named, the code becomes more readable. For example,
sub routine {
my $longstring = \shift;
diff --git a/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm b/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm
index 8049d89..de609ed 100644
index 5a18fe8f..9305065d 100644
--- a/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm
+++ b/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm
@@ -39,7 +39,7 @@ sub supported_parameters {
@ -117,7 +168,7 @@ index 8049d89..de609ed 100644
Pod::Spell->new()->parse_from_file("lib/Your/Module.pm")' >> to see what is
actually being checked for spelling.
diff --git a/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm b/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm
index 6865003..6845573 100644
index 591f1d43..9899c0f9 100644
--- a/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm
+++ b/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm
@@ -299,7 +299,7 @@ __END__
@ -130,7 +181,7 @@ index 6865003..6845573 100644
=head1 NAME
diff --git a/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm b/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm
index 5ad8768..b084dac 100644
index bd5132d8..a8197541 100644
--- a/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm
+++ b/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm
@@ -46,6 +46,8 @@ __END__
@ -142,8 +193,21 @@ index 5ad8768..b084dac 100644
=head1 NAME
Perl::Critic::Policy::Modules::RequireBarewordIncludes - Write C<require Module> instead of C<require 'Module.pm'>.
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm
index e47e4e10..ca9efec9 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm
@@ -307,6 +307,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest - Capture variable used outside conditional.
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm
index 46aa649..30316e3 100644
index 963dc53b..0b5a5459 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm
@@ -99,7 +99,7 @@ __END__
@ -151,12 +215,90 @@ index 46aa649..30316e3 100644
=pod
-=for stopwords BNF Tatsuhiko Miyagawa
+=for stopwords BNF RFC822 Tatsuhiko Miyagawa
+=for stopwords BNF regexp RFC822 Tatsuhiko Miyagawa
=head1 NAME
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm
index 8821afa3..f2ca75b9 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm
@@ -82,6 +82,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches - Use C<eq> or hash instead of fixed-pattern regexps.
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm
index 88c1e95e..eeecd5c8 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm
@@ -83,6 +83,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation - Use C<[abc]> instead of C<a|b|c>.
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm
index 88760362..98363d54 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm
@@ -715,7 +715,7 @@ __END__
=pod
-=for stopwords refactored
+=for stopwords refactored regexp
=head1 NAME
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm
index ddf703c3..497b5448 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm
@@ -77,6 +77,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters - Use only C<//> or C<{}> to delimit regexps.
diff --git a/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm b/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm
index ed4ffbef..b6363ef0 100644
--- a/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm
+++ b/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm
@@ -77,6 +77,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline - Use C<{> and C<}> to delimit multi-line regexps.
diff --git a/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm b/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm
index 37d80063..ae5da1ec 100644
--- a/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm
+++ b/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm
@@ -326,6 +326,8 @@ __END__
=pod
+=for stopwords regexp
+
=head1 NAME
Perl::Critic::Policy::Variables::ProhibitPunctuationVars - Write C<$EVAL_ERROR> instead of C<$@>.
diff --git a/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm b/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm
index 4690658..8185dd9 100644
index 296bbdba..27afcc7c 100644
--- a/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm
+++ b/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm
@@ -66,7 +66,7 @@ __END__
@ -168,8 +310,34 @@ index 4690658..8185dd9 100644
=head1 NAME
diff --git a/lib/Perl/Critic/Utils.pm b/lib/Perl/Critic/Utils.pm
index fccc823b..5806aa5b 100644
--- a/lib/Perl/Critic/Utils.pm
+++ b/lib/Perl/Critic/Utils.pm
@@ -1397,6 +1397,8 @@ __END__
=pod
+=for stopwords foo
+
=head1 NAME
Perl::Critic::Utils - General utility subroutines and constants for Perl::Critic and derivative distributions.
diff --git a/lib/Perl/Critic/Utils/PPI.pm b/lib/Perl/Critic/Utils/PPI.pm
index 38d49675..9245e3d5 100644
--- a/lib/Perl/Critic/Utils/PPI.pm
+++ b/lib/Perl/Critic/Utils/PPI.pm
@@ -235,7 +235,7 @@ __END__
=pod
-=for stopwords
+=for stopwords FOO
=head1 NAME
diff --git a/t/20_policy_pod_spelling.t b/t/20_policy_pod_spelling.t
index f41a5c6..7b37030 100644
index 274b73d1..e9c5de4f 100644
--- a/t/20_policy_pod_spelling.t
+++ b/t/20_policy_pod_spelling.t
@@ -58,10 +58,10 @@ $code = <<'END_PERL';
@ -186,11 +354,11 @@ index f41a5c6..7b37030 100644
if ( ! eval { ! pcritique($policy, \$code) } ) {
skip 'Test environment is not English', $NUMBER_OF_TESTS;
diff --git a/xt/40_perlcriticrc-code b/xt/40_perlcriticrc-code
index c37fede..253d15c 100644
index 25d5a933..b488284e 100644
--- a/xt/40_perlcriticrc-code
+++ b/xt/40_perlcriticrc-code
@@ -18,7 +18,7 @@ strict = 1
[-Documentation::RequirePodLinksIncludeText]
@@ -17,7 +17,7 @@ strict = 1
[-CodeLayout::RequireTidyCode]
[Documentation::PodSpelling]
-spell_command = aspell list -l en_US
@ -199,5 +367,5 @@ index c37fede..253d15c 100644
[Documentation::RequirePodSections]
--
2.9.4
2.21.0

View File

@ -1,22 +0,0 @@
--- lib/Perl/Critic/Command.pm
+++ lib/Perl/Critic/Command.pm
@@ -187,7 +187,7 @@ sub _get_input {
# Reading code from STDIN. All the code is slurped into
# a string. PPI will barf if the string is just whitespace.
- my $code_string = do { local $RS = undef; <STDIN> };
+ my $code_string = do { local $RS = undef; <STDIN> }; ## no critic (InputOutput::ProhibitExplicitStdin)
# Notice if STDIN was closed (pipe error, etc)
if ( ! defined $code_string ) {
--- t/05_utils.t
+++ t/05_utils.t
@@ -418,7 +418,7 @@ sub test_parse_arg_list {
[
q/foo( { bar() }, {}, 'blah' )/
=> [
- ' { bar() }',
+ [ '{ bar() }' ],
[ qw< {} > ],
[ q<'blah'> ],
],

View File

@ -1,12 +1,11 @@
Name: perl-Perl-Critic
Version: 1.132
Release: 8%{?dist}
Version: 1.134
Release: 1%{?dist}
Summary: Critique Perl source code for best-practices
License: GPL+ or Artistic
URL: https://metacpan.org/release/Perl-Critic
Source0: https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/Perl-Critic-%{version}.tar.gz
Source0: https://cpan.metacpan.org/modules/by-module/Perl/Perl-Critic-%{version}.tar.gz
Patch0: 0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch
Patch1: perl-Perl-Critic-1.132-PPI.patch
BuildArch: noarch
# Build process
@ -29,7 +28,6 @@ BuildRequires: perl(English)
BuildRequires: perl(Exception::Class) >= 1.23
BuildRequires: perl(Exporter) >= 5.58
BuildRequires: perl(File::Find)
BuildRequires: perl(File::HomeDir)
BuildRequires: perl(File::Path)
BuildRequires: perl(File::Spec)
BuildRequires: perl(File::Spec::Unix)
@ -46,18 +44,20 @@ BuildRequires: perl(Pod::PlainText)
BuildRequires: perl(Pod::Select)
BuildRequires: perl(Pod::Spell) >= 1
BuildRequires: perl(Pod::Usage)
BuildRequires: perl(PPI) >= 1.250
BuildRequires: perl(PPI) >= 1.265
BuildRequires: perl(PPIx::QuoteLike)
BuildRequires: perl(PPIx::Regexp) >= 0.010
BuildRequires: perl(PPIx::Utilities::Node)
BuildRequires: perl(PPIx::Utilities::Statement) >= 1.001
BuildRequires: perl(Readonly) >= 2
BuildRequires: perl(Scalar::Util)
BuildRequires: perl(strict)
BuildRequires: perl(String::Format) >= 1.13
BuildRequires: perl(Term::ANSIColor) >= 2.02
BuildRequires: perl(Test::Builder) >= 0.92
BuildRequires: perl(Text::ParseWords) >= 3
BuildRequires: perl(version) >= 0.77
BuildRequires: perl(warnings)
# Main test suite
%if 0%{?fedora} > 23 || 0%{?rhel} > 7
@ -88,11 +88,10 @@ BuildRequires: perl(Test::Without::Module)
# Optional/not automatically detected runtime dependencies
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: hunspell >= 1.2.12
Requires: perl(File::HomeDir)
Requires: perl(File::Which)
Requires: perl(Module::Pluggable) >= 3.1
Requires: perl(Pod::Parser)
Requires: perl(PPI) >= 1.224
Requires: perl(PPI) >= 1.265
Requires: perl(Term::ANSIColor) >= 2.02
%description
@ -123,10 +122,6 @@ of Perl code were mixed directly in the test script. That sucked.
# Switch spell checker tool from aspell to hunspell
%patch0 -p1
# Workaround for PPI ≥ 1.250
# https://github.com/Perl-Critic/Perl-Critic/issues/858
%patch1
# Drop exec bits from samples/docs to avoid dependency bloat
find tools examples -type f -exec chmod -c -x {} ';'
@ -158,6 +153,23 @@ LC_ALL=en_US ./Build %{!?perl_bootstrap:author}test
%{_mandir}/man3/Test::Perl::Critic::Policy.3*
%changelog
* Thu May 23 2019 Paul Howarth <paul@city-fan.org> - 1.134-1
- Update to 1.134
New Features
- Added new policy BuiltinFunctions::ProhibitShiftRef (GH#837)
- Support indented heredocs (GH#861)
- In Subroutines::ProhibitManyArgs, you can now omit the object variable
(C<$self> or C<$class>) from the argument count (GH#815)
Policy Changes
- The policy Documentation::RequirePodLinksIncludeText is obsolete and has
been removed (GH#494)
Dependencies
- Removed use of File::HomeDir
- Upgrade to PPI 1.265 (GH#860)
- Fix failed tests caused by new PPI (GH#858)
Internals
- Updated the Appveyor config (GH#851)
* Mon Apr 29 2019 Paul Howarth <paul@city-fan.org> - 1.132-8
- Add workaround for PPI 1.262

View File

@ -1 +1 @@
SHA512 (Perl-Critic-1.132.tar.gz) = 489d551b4913071a9001e8476425079b3aeef44838feff622edfdb64ca09f62b569f5338d2e1982d3ccd3fdb8f30caf077ceac5ec1beebafbde7a01d6deed890
SHA512 (Perl-Critic-1.134.tar.gz) = 73d3fd891e055aec5dd38680696ae30f6662d0906baeea878f393adb96e34079e561cd4c3dad00f0c84c7d3a72f3119b2f8ef0c0a1601aaccc8456f1c0039b7a