[libperl-critic-perl] annotated tag upstream/1.126 created (now ef2fa96)
Salvatore Bonaccorso
carnil at debian.org
Tue Aug 11 08:05:31 UTC 2015
This is an automated email from the git hooks/post-receive script.
carnil pushed a change to annotated tag upstream/1.126
in repository libperl-critic-perl.
at ef2fa96 (tag)
tagging 2dccf6ab0ab6f58a98c7272a10255e0a2cc37344 (commit)
replaces upstream/1.125
tagged by Salvatore Bonaccorso
on Tue Aug 11 09:39:22 2015 +0200
- Log -----------------------------------------------------------------
Upstream version 1.126
Alan Berndt (8):
Add test for yada operator
Add policy to prohibit yada operator
Add note to Changes about new policy
Fix explanation text
Fix prohibited use of unless
Add new files to MANIFEST
Fix policy to allow non-numeric operands
Add policy description to changes file
Andrew Moore (2):
Implementing InputOutput::RequireCheckedOpen and InputOutput::RequireCheckedClose.
changes to address RT ticket 29540:
Andy Lester (151):
Enhancements:
Fixed spec for blib
Minor textual cleanup on docs for policies A-M
Added test for legit-but-falsely-identified-as-bad form of bless, with a fat comma
Added FATCOMMA
Added a TODO for ProhibitStringSplit
Redid TODO as TODO.pod, and added comments and notes on my split-on-string idea
Renamed TODO to TODO.pod
Fixed POD bummers
Fixed incorrect variable name
fix teeny typo
Experimental patch to see what Jeff thinks
All the violations are now down thru $self->violation() (which kinda sounds a little dirty...)
Put the cheapest test ("is it a tie?") as the first thing to check
Reverse some "ne" to "eq" to make them less convoluted. Also now ignoring some unused function parameters
Reversed senses of checking for element type, from !eq to using ne
Added tags support.
Don't bother unpacking vars that aren't used
Removed all the hard tabs
Added ex: line so that vi/vim do the tabs properly, so we no longer get embedded tabs accidentally
Moved the check for conditionals strings to the top of _is_conditional. Also set up a hash for repeated lookups.
Removed "use"d modules that were not actually used.
noted that $FATCOMMA gets exported
New ideas from Andy
More TODO items
Only check for die/warn once
Symlink to the policies
Added a TODO on carping
Added -q|-quiet flags
Changed lots of single-quotes to doubles
rebuilt tags and tag-building code
No longer complains if I have a BEGIN {} block
starting on the hashify() function
Working my way through the code that needs hashify()
Added test for croak on a \n-terminated string
More hashifying
* ProhibitBarewordFilehandles doesn't complain if you open STDIN, STDOUT or STDERR.
Added more reason to use three-arg open
All programs should have a shebang
Removed a todo item that already exists
fixed spacing on a verbatim paragraph
Cleaning up the TODO list
More things to fix
Fixed is_deeply call
is_deeply() is not happy if you pass array/hashrefs as you would in real life
new exciting tags
use the wonders of autovivication
Added more test cases that should pass
Fixed the name of the function we should use
Made more explicit the is_function_call stuff
Changed the !!, which is a little non-obvious
Removed the hard tabs
reverted a previous change
Added failing test
Fixed a silly typo,and thanks to RJBS for solving my problem
Add a little side note about actually following the warnings
Added exceptions to Variables::ProhibitPackageVars
Reorganized a little
Starting on my test rebuilding: DO NOT TOUCH
I can now read in chunks of files from the .pl files
First working version of t/run.t
Removed the tests that are now covered in t/run.t
Done with the subtest framework, for now.
making my way through t/20_policies_variables.t
Complain if we get code, but we're not in a subtest
Working thru t/20_policies_variables.t, and now need to make TODO tests work
Working thru t/20_policies_variables.t, and now need to make TODO tests work
Now we handle TODO subtests
Finished converting t/20_policies_variables.t
Created empty files for all the remaining policies
Converted the one set of subtests in the References:: space
Converted t/20_policies_errorhandling.t
Converted this to t/References/ProhibitDoubleSigils.pl
Elliot forgot the MANIFEST
Hoisted everything out into Perl::Critic::TestUtils except for the TODO handling
Pulled run_subtest back into t/run.t
Hoisted out the _finalize_subtest worker function
Switch to the non-pod meta format
Moved explanation of .run files into Perl::Critic::TestUtils
Working on t/20_policies_testingadndebugging.t
Added some error checking on subtests
Finished converting t/20_policies_testinganddebugging.t
Added words_from_string. Thanks, Chris!
working on 20_policies_subroutines.t
More migration
use the proper split()
Split out the TODO tests
Finished with t/20_policies_subroutines.t
Converted to t/Subroutines/*.run
pruning t/20_policies_regularexpression.t
More regex test pruning
almost done pruning
Done with t/20_policies_regularexpressions.t
Let's make everyone running a checkout from Subversion run the dev tests
starting the pruning of the pod one
Finishing the documentation converstion
pruned RCS keywords policy
run.t now reports bad line number in the .run file
Converted t/20_policies_inputoutput.t
Converted t/20_policies_miscellanea.t
Working on converting the Modules:: policies tests
pulled out RequiredEndWithOne
removed misleading separator
Pruned out RequireVersionVar
Pruned out policy_requiresfilenamematchespackage.t
Converted for ProhibitEvilModulest
Added checking for unused/incorrect parms
fixed: perlcritic would die if passed a numeric verbosity like -1.
the EXPL should not end with a period
Merge pull request #11 from dsteinbrunner/patch-1
Merge pull request #542 from Rub3nCT/patch-1
Fixed two teeny typos
adding branching strategy
Exclude tags and pm_to_blib
Removed RCS keyword boilerplate blocks
Remove $URL$ boilerplate
Starting a README
renamed README
There is no README to ignore
Turn off the checks for Rcs Keywords
Turn off Rcs keyword checks
Update the license to new Module::Build
Added README back
ship the README, not the README.md
Merging down the useless-topic branch, adding {BuiltinFunctions,RegularExpressions}::ProhibitUselessTopic
Require Module::Build 0.4200
Adding standard footers
Quieiting bitwise operator warning
Remove a space to get past a buggy policy
Remove useless topic
Remove some useless topics
Removing unused topics
Put back a topic
QUiet a warning
Handle spelling
Remove useless topic
Matching against a variable is not useless
Removed a no critic
Removed a useless topic
Prepping for releasing 1.21_01
Fix incorrect docs
Fixed a misformatted piece of docs
update copyright
Removed unnecessary intermediate array. Microoptimized an extraneous check of $up. Cleaned up some comments.
Re-ordered the checks in is_function_call() to put the fastest ones
Removed RcsKeywords from the policies to profile because I bet a nickel nobody uses it.
Do the cheaper function first.
Removed unnecessary headings
Merge branch 'master' into dev
Fixed a typo in the Variables::ProhibitPerl4PackageNames message.
Makefile.PL is no longer supported
Chris Dolan (232):
Add new policy Variables::ProhibitMatchVars
Refactor some of the Config tests. I had some non-native policies
Two new policies and all associated changes.
Update TODO list; set keyword property on recently added policies
Add new policy: Documentation::RequirePodAtEnd
Fix a few P::C violations in our own code
Bugfix: we were getting false positives in BEGIN blocks and the like.
Allow numbers in HEREDOC terminators.
Added new policy ClassHierarchies::ProhibitExplicitISA
Trivial spelling fix from annocpan.org
oops, missed the other typo
Spelling corrections
Added two new policies:
Minor changes:
Revert the ##no critic statements to apply to the line of the
Fix test #7 in 03_pragmas.t - It was wrong due to a bug in Critic.pm
Add TODO test for PPI operator parsing bug
Working on violation formats:
Add some wishes for new, non-PBP policies
Add a couple of more tests for ProhibitUnreachableCode:
This is a *failing* test for ProhibitUnreachableCode. Just comment it
New policy: ValuesAndExpressions::ProhibitEscapedCharacters
Minor TODO addition and typo correction
Trivial: fix alphabetic sort of policy names
Move summary of bundled Policy modules into a separate POD file
Add new policy BuiltinFunctions::RequireSimpleSortBlock
Add more entries to skipdirs, mainly for other revision control
Add commented-out, failing test
To help avoid problems with external, incompatible policy modules:
Workaround for bug in Module::Pluggable v3.01.
Edits and updates for DEVELOPER.pod
Fix PBP page numbers [RT bug 20060]
* Add TODO for error checking in .perlcriticrc
Note some ideas that arose at YAPC
Better support for
Bugfix: _find_home_dir was mistakenly returning 'HOME' instead of $ENV{HOME}
Avoid failures triggered by the presence of installed third-party
Code changes to comply with Perl::Critic::Bangs
Fix the third-party policy issues right this time
Add TODO entry for RT #20439 (rules for $VERSION construction)
Self compliance fix
Comply with P::C::P::Bangs::ProhibitNumberedNames
Performance enhancement: do all @ISA grepping outside of main loop
Tiny self-compliance fix
Add PERL_CRITIC_CACHE envvar for development speedup
Add a few more development files to MANIFEST.SKIP
Abstract the PPI::Document caching code into a wrapper class,
Here's a pseudocode summary of my tremendous yak shaving evening,
Dump a few TODO items out of my head
Get rid of the "## Please see file perltidy.ERR" message in "Build test"
If the user has their own .perltidyrc file, the tests could fail. Add
Work on Violations:
Update changes with bug fixes
New policy: Variables::RequireNegativeIndices
Avoid "Cannot create search condition for 'PPI::': Not a PPI::Element"
Update the TODO.pod for my recent work
New policy InputOutput::ProhibitInteractiveTest
Second attempt to silence t/08_document.t PPI::Node warning
Tiny edit to a TODO entry
Work on test coverage:
Test coverage: got P::C::P::ClassHierarchies::* to 100%
Forbid leading tabs in our own code
Test coverage for P::C::Policy::CodeLayout::*
Test coverage: a couple of policy modules that I missed in the first
Workaround for RT bug #21010 in Pod::Parser::parse_from_file which
Test coverage: ControlStructures::*
Test coverage: Documentation::*
Test coverage: InputOutput::*
Tests cleanup:
Add caching for PPI::Document::find_first
Test coverage: P::C::P::Modules::* at 100%
Test coverage: NamingConventions::*
Test coverage: References::* and Subroutines::*
Test coverage: finished a pass over all policies and most of the core
Trival: fix old policy name in SEE ALSO
Add some comments to TODO.pod tasks
Remove the stringy eval from ProhibitEvilModules
Reduce B::Keywords to a recommendation, since it's absense is not
Add P::C::Document::find_any() caching wrapper method
Fix a bunch of bugs and recently-broken regression tests (largely bugs
New policy RegularExpressions::ProhibitCaptureWithoutTest
Make exception list for Variables::ProhibitPunctuationVars be
RT #21070: Add an exception to
Workaround for a bugfix in PPI v1.116 regarding locations
Remove bogus "3-t();" test. It's a syntax error and I have no idea
Add entries to TODO. Some are lifted from CPANTS via
Add a bunch of my personal author-only tests.
New policy: Testing::RequireTest::Labels
D'oh... forgot to svn add the policy...
Remove accidental inclusion of File::Slurp. Credit to Chris Laco.
Use a PPI::Document::File instance if we're passed a filename.
Minor code cleanup; document use of string eval
Rename Testing::RequireTestLabels to
Tweak error message when PPI fails to parse to only try to state the
RT #21714: Make ProhibitCaptureWithoutTest allow match vars in
Allow checking for additional modules beyond Test::More
Fix up a bunch of SVN properties: executable and keywords
Upped PPI requirement to 1.118
Undo a speed hack mistakenly committed back in r685
New policy BuiltinFunctions::ProhibitReverseSortBlock
Plan ahead for when a PPI that supports literal() is released to CPAN
Work on TODO.pod:
Regexps in while() should work with ProhibitCaptureWithoutTest
New policy CodeLayout::RequireConsistentNewlines
Fix PBP page number
Document a few TODOs from RT.
Code coverage for t/20_policies_builtinfunctions.t
Code coverage for t/20_policies_codelayout.t
Minor corrections to TODO.pod
Add exception to NamingConventions::ProhibitMixedCaseSubs for
Comply with our own RequirePodSections policy
Spotted a typo while reading code
Set default themse for RequireTestLabels
Prototype theme boolean parser. It doesn't do anything yet except
More changes for
Break out convenience function shebang_line() for Parrot folks.
Regression test to check completeness of PolicySummary.pod
Correct devel svn:propset command
Rebuild MANIFEST
Bugfix: ProhibitCaptureWithoutTest was confused by
Shell "eval exec" infix in blib/ files breaks RequireTidyCode since
* Move self-compliance exceptions from code to an rc file
Parrot RT #4064: make Subroutines::RequireFinalReturn allow die, exit, etc.
Support changed cmdline syntax for aspell v0.60
Looking at ValuesAndExpressions::ProhibitMismatchedOperators
Bugfix: ProhibitCaptureWithoutTest failed to notice structures
Work around some changes in PPI v1.199_02
Spelling
New policy from the Hackathon:
Bugfix for Bleadperl, as reported by Steffan Mueller via cpantesters
Add my hackish tool to write new policy boilerplate.
New policy: TestingAndDebugging::ProhibitProlongedStrictureOverride
Add emacs/vi modelines to all code files
New policy: Variables::ProhibitListProcessingSideEffects
A few post-hackathon TODO changes
Add missing dep on List::MoreUtils::none()
Following up some Hackathon work:
Document ProhibitProlongedStrictureOverride
Create new distro for non-core policies
Bump our Module::Pluggable dependency. Older versions sometimes
Move a bunch of TODO items over from P::C to P::C::More
Work on ProhibitMutatingListFunctions, following up on Jeff's excellent refactoring
Accelerate ProhibitMutatingListFunctions by making it check just
Make Perl::Critic::Document masquerade as a PPI::Document for
Trivial spell checking fix
Overhaul ProhibitPackageVars
Refactoring run.t scaffolding
Work on test harness:
A little documentation
* Fix a bug I introduced into P::C::Utils::words_from_string
Hack in a -w (whitespace) option to ppidump
* Bugfix for is_function_call -- triggered falsely on 'sub'
Very simple code cleanup
Add 'core' theme to all built-in policies
Remove native_policy_names(). Replace with generic
Add test to ensure that all bundled policies have 'core' theme
Fix a think-o. I'm surprised this didn't bite me earlier...
Allow text before the first "## name" in .run files
Add a new policy idea
Bugfix for undef in list function (found by Bernhard Schmalhofer)
Bugfix: when a Perl::Critic::Violation outlived it's
Add a failing test for ProhibitCommaSeparatedStatements for a common
New policy: BuiltinFunctions::ProhibitComplexMappings
Update TODO with some clarifications and mental notes for my upcoming work
New policy BuiltinFunctions::ProhibitBooleanGrep
New policy ValuesAndExpressions::ProhibitImplicitNewlines
New policy Variables::RequireLocalizedPunctuationVars
Self-compliance with RequireLocalizedPunctuationVars and a bug fix in
forgot to commit a PolicySummary.pod change
New policy Documentation::PodSpelling
Skip unit tests if Pod::Spell is installed but aspell is not
First draft of Subroutines::RequireArgUnpacking, but it causes too
Rewrite Subroutines::RequireArgUnpacking
Simplify a complex subroutine
Self compliance with RequireArgUnpacking
New policy Subroutines::ProhibitManyArgs
New policy InputOutput::ProhibitJoinedReadline
New policies:
Remove completed policy from TODO
New Policies
Add comments to the TODO about the feasibility of implementing the remaining regexp policies.
Added a new optional_modules parameter to the .run syntax. This turns
New policy RegularExpressions::ProhibitUnusedCapture
Three changes to Critic.pm, in order of significance
New policy RegularExpressions::ProhibitComplexRegexes
Change default trigger from 50 chars to 60 chars in
False positive for s/(foo)/$1/ in
Oops, forgot to indicate RC argument key for ProhibitComplexRegexes
Merge some changes from my personal version of includes.t into the P::C version
New policy RegularExpressions::ProhibitSingleCharAlternation
Add TODO for new idea: RegularExpressions::ProhibitUnnecessaryEscapes
Add tests to confirm that the severities are right in PolicySummary.pod
Add overlooked flag for optional module
New policy RegularExpressions::ProhibitEscapedMetacharacters
Tweak to ProhibitComplexRegexes so \p{IsUppercase} and the like don't
New policy RegularExpressions::ProhibitEnumeratedClasses
Add optimizations to the regexp policies to do culling tests before
Refactor to reduce complexity of violates() method in ProhibitEnumeratedClasses.pm
New policy InputOutput::RequireBriefOpen
Code coverage improvements; minor code tweaks
Doc error: the config parameter stop_words was misspelled
Add exceptions for Fatal and Fatal::Exception to InputOutput::RequireCheckedOpen/Close
New policy InputOutput::RequireCheckedSyscalls
Code coverage
Mention name of unchecked function in violation description for
Degrade (sort-of) gracefully is aspell is installed but aspell-en is not
Reworking RequireLocalizedPunctuationVars tests in light of PPI
Further work on RequireLocalizedPunctuationVars.run.PL
Fix a few miscellaneous self violations
Fix the TODO tests in ProhibitMixedBooleanOperators. This should kill
Oops
Fix regressions to regain PPI v1.118 compatibility
Fix failures when Regexp::Parser is not installed
Fix page number, RE: rt #30388
Add an exception for Test::More's idiom:
Don't complain about m/\#/x
* Add $TEST_AUTHOR_PERL_CRITIC as another TEST_AUTHOR flag so I can
Fix MagicNumber compliance for PPIRegexp and ProhibitParensWithBuiltins
TODO entry for policies related to '==' vs. '='
Implemented Documentation::RequirePackageMatchesPodName
Special case allow for sort(foo(@x)) in ProhibitParensWithBuiltins
Added a TODO for ProhibitExit
Fix false positive in ProhibitSingleCharAlternation
Ternaries now satisfy RequireCheckingReturnValueOfEval:
Forgot to update Changes
New policy Variables::ProhibitReusedVarNames
Variables::ProhibitReusedVarNames bug fix (PPI returns '' instead of undef for false...)
self-compliance with Variables::ProhibitReusedVarNames
Rename Variables::ProhibitReusedVarNames to Variables::ProhibitReusedNames
Test for "package main" in NamingConventions::Capitalization
Add some draft notes about how we do P::C releases
Remove "All rights reserved" in all files where my name is listed as copyright owner
Dan Book (1):
Add more strict/warnings importer modules
David Steinbrunner (2):
Added repository metadata
typo fix
Doug Sims (1):
Removed a newline to fix issue https://github.com/Perl-Critic/Perl-Critic/issues/637
Douglas Sims (1):
Fixed test for previous commit bug #637.
Edgar Whipple (10):
Added interpolated strings and heredocs to ProhibitPunctuationVars, with tests
Tidy sweep for ProhibitPunctuationVars.pm, especially trailing whitespace
Tidy sweep and reorganized tests in t/Variables/ProhibitPunctuationVars.run
Added exceptions to ProhibitPunctuationVars for ($$, $', $#) in interpolated strings
POD-and-comment tweak for interpolated strings in ProhibitPunctuationVars
tests comments, code tidy, and P::C self-compliance for ProhibitPunctuationVars
ProhibitPunctuationVars: upgraded interpolated strings to handle false-positive cases and remove the need for standing exceptions
ProhibitPunctuationVars: de-lexicalized helper functions; gussied up POD; trimmed some whitespace
ProhibitPunctuationVars: Perl::Critic self-compliance sweep
ProhibitPunctuationVars: a couple more tests; minor formatting tweaks
Elliot Shank (1162):
New policy: ValuesAndExpressions::ProhibitMagicNumbers
Documentation updates.
Fix t/00_modules.t test count that got out of whack due to svn not being able to see diff after two new policies were added independently, one after another.
Make ValuesAndExpressions::ProhibitMagicNumbers emit explanations.
Make ValuesAndExpressions::ProhibitMagicNumbers allow declarations of package $VERSION variables.
Fix ProhibitMagicNumbers to let everything pass if
First version of configurability of ProhibitMagicNumbers.pm.
Fix vi modelines so they work.
ProhibitMagicNumbers: renamed "allowed_literals" configuration item
Fixed ProhibitMutatingListFunctions to pass t/97_spelling.t.
Add special 'all_integers' special configuration value
Add stop words to t/97_spelling.t for proper names.
Replace the CONSTRUCTOR section of the ProhibitQuotedWordLists POD
Further work on changing CONSTRUCTOR POD for policies to CONFIGURATION.
Finish first sweep through POD to clarify policy configuration.
Move ProhibitMagicNumbers relevant parts of Perl-Critic/TODO.pod to
Add textwidth value to vi modelines to match the
Significant change when things are supposed to be stabilizing.
Replace 20_policies_valuesandexpressions.t with run.t
Satisfy Andy's request for an "ft=perl" in the vi modelines.
Rename all the t/<category>/<policy>.pl files to
Add modelines to .run files that didn't have any.
Declare dibs on converting t/20_policies_builtinfunctions.t.
Convert t/20_policies_builtinfunctions.t to t/run.t model.
Create tests for BuiltinFunctions::ProhibitLvalueSubstr.
Realize that there already /were/ tests for
Convert t/20_policies_classhierarchies.t to t/run.t form.
Declare dibs on converting t/20_policies_controlstructures.t.
Convert t/20_policies_controlstructures.t to t/run.t format.
Minor spelling fix in Documentation::RequirePodSections
Add 2 reasonably doable and 1 herculean effort enhancements
Claim dibs on converting t/20_policies_codelayout.t.
Convert tests for CodeLayout Policies to run.t format.
Restore ability to run author tests via $ENV{TEST_AUTHOR},
Do the author test stuff right. Refactor author test
Remove dependency on Readonly. However, this was done by
Add svn:keywords property to files that were missing it.
Renamed "-List" option to "-profileproto".
Work around a bug in PPI that doesn't return a
Apply workaround for PPI RT #23788 to a couple more policies.
Modify the perlcritic usage POD/message to include the --doc
Improve Perl::Critic's kwalitee.
META.yml got regenerated when I was playing with
Somebody needed to check his grammar. :/
Remove stack traces from when the user give the --singlepolicy
Add failing test to t/09_theme.t. An exception occurs
Eliminate stack traces from error messages about
Add descriptions to a couple of policies because I got caught
Whoops. ## no critic at end of statement is not the
Start enhancing RequireCarping to allow cases where
Fix RequireCarping PPI class lists.
Further work on RequireCarping.
Refactor RequireCarping into smaller chunks and document approach.
Finished RequireCarping code changes that look for newlines.
Update RequireCarping POD.
Allow strictness of RequireCarping to be turned back on.
Document new RequireCarping option.
Whoops. Not very OO of me.
Modify TODO.pod to reflect RequireCarping changes.
Minor grammatical change in F<Changes>.
Add a couple of simple examples of driving P::C from within
Update tests to include examples and update MANIFEST.
Make P::C::Utils use @EXPORT_OK instead of @EXPORT.
Make Perl::Critic::Utils export everything again, though
Change the ValuesAndExpressions::ProhibitMagicNumbers
Implement Variables::ProhibitPerl4PackageNames.
Documentation::RequirePodSections can now be configured to match
Remove TODO for RequirePodSections.
Implement ValuesAndExpressions::ProhibitCommaSeparatedStatements
Update tags file. Though whether this file even belongs
Fix the copied POD in ProhibitPerl4PackageNames to actually
Correct and add to the tests of
Modify comments in P::C::Utils. Someone wasn't paying attention
Implement CodeLayout::ProhibitTrailingWhitespace.
ValuesAndExpressions::ProhibitInterpolationOfLiterals was
Minor documentation update to loadanalysisdb example.
Make code of ProhibitTrailingWhitespace more clear.
Fix P::C::Utils::is_function_name() to not match module names
Fix P::C::Utils::is_function_name() to not match module names
Update TODO.pod to mention non-terminated "##no critic"
Add POD pointing out that there are distributions of policies
Add note about policies producing false-negatives if they cannot
Add is_qualified_name() to P::C::Utils and use it in StricterSubs.
Fix spelling in perlcritic POD.
Removed TODO from ProhibitCommaSeparatedStatements test to
Fix foreach loop handling in ProhibitCommaSeparatedStatements.
perlcritic now emits a summary about the scanned code
Refactor the statistics gathering code into a P::C
Add average McCabe score and violations per line of code
Add only_in_void_context option to InputOutput::ProhibitBacktickOperators.
Merge r1535, global option error collecting, to the
Merge r1538-r1540 (extra TODO test, TODO.pod changes,
Copy t/09_theme.t from trunk to the Perl-Critic-1.xxx branch
Merge r1543, --profileproto reporting lack of
Merge r1542, POD spelling fixes, to the Perl-Critic-1.xxx branch.
Merge r1569, change ProfilePrototype to emit Policy short names,
Merge r1553, remove extra Statistics constructor argument,
Merge r1572, POD updates, to the Perl-Critic-1.xxx branch.
Merge r1573, C<nocolor> support in .perlcriticrc,
Merge r1575 & r1580, create ProhibitQuotesAsQuotelikeOperatorDelimiters
Merge r1579, which changes the formatting capabilities
Merge r1598, t/20_policies.t emits violations on failure,
Merge r1599, refactor PPI::Statement subclass detection,
Merge r1601, add ProhibitLongChainsOfMethodCalls policy,
Merge r1602, add --summary perlcritic option,
Merge r1603, add --options perlcritic option,
Merge r1605-r1608,r1612, add ProhibitExcessMainComplexity policy,
Merge r1611 & r1613, perlcritic option name changes,
Merge r1614, change "--nocolor" option to "--color",
Merge the perlcritic changes from r1527, (just some POD updates),
Merge r1628 & r1651, which deal with diagnostic output from
Documentation cleanup on the Perl-Critic-1.xxx branch.
Add IRC URL to perlcritic and Perl::Critic POD.
Fix bad merge of PolicyFactory from trunk to
After watching McAdams' YAPC presentation, change all constructors
Fix P::C::Theme to work under Perl 5.6. The included version of
Merge the Readonly changes from trunk to the Perl-Critic-1.xxx
Merge magic number cleanups, r1596 & r1597, to Perl-Critic-1.xxx
Fix Readonly usage in P::C::U::McCabe in Perl-Critic-1.xxx
Convert BuiltinFunctions::ProhibitComplexMappings to use Readonly.
Deal with eval of an empty string not resetting $@/$EVAL_ERROR
Fix t/97_spelling.t failures by making capitalization of "HEREDOCs"
Turn an attribute of RequireFinalReturn into a constant.
Separate out 5.6 compatibility fixes in Changes in
Create tests for P::C::Utils::PPI.
Add P::C::Policy::initialize_if_enabled() which, rather than new(),
Reorder methods in Documentation::PodSpelling to make violates()
Switch remaining Policies from using constructors to use
Bring the 1.061 version number bump to the Perl-Critic-1.xxx branch.
Update Changes to include a mention of initialize_if_enabled().
Add RJBS' ProhibitNestedSubs policy.
Put the severity of Subroutines::ProhibitNestedSubs to 5,
Add add_themes parameters to profile prototype.
Replace --strict-profile option with --profile-strictness one.
Add descriptions to the NAME POD section in P::C::Utils::*.
Bump version number to 1.07.
Update some POD in Perl::Critic and perlcritic, set the date
This should fix all the failures with 1.07, with tests to ensure
Bump version to 1.071 and update Changes to reflect bug fixes.
Use \t instead of actual whitespace in the tags target in
Remove backslash from end of last line in the tags target
Replace hand-coded module-hiding wrappers for tests with generated
Bump P::C version to 1.072.
Fix date of P::C 1.071 release in Changes.
Add attribution to the Makefile.PL fixes in Changes.
Update release date of P::C 1.072 in Changes.
Merge r1873 & 1874, the 1.073 release, to the 1.xxx branch.
Add todo.
Fix typos and add to TODO.
Merge r1877 & 1878, the 1.074 release, to the 1.xxx branch.
Merge r1882-r1884 & r1886, the 1.075_001, to the 1.xxx branch.
Merge r1890 & r1891, the 1.076 release, to the 1.xxx branch.
Merge r1895, add Readonly to the Build requirements, to the
Merge r1904-r1908, the 1.077 release, to the 1.xxx branch.
Replace references to new() with initialize_if_enabled() in
Fix cases where I got the expanation and description of a violation
Add policy that enforces checking of $EVAL_ERROR after
Merge P::C 1.078 to the 1.xxx branch.
Fix Pod::Spelling problem.
Add ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
Minor test renaming.
Add todo for #line directives.
Update todo.
Generate
Hook ProhibitNegativeExpressionsInUnlessAndUntilConditions.run.PL
Change $VERSION to a string instead of a number to deal with
Add Devel-CheckOS to the inc directory and use it to warn about tar
Note Solaris check in Changes.
Create 1.079_001 version in order to test the Solaris check.
Change required PPI version to 1.200. Marked tests as no-longer
Add failing test for ValuesAndExpressions::ProhibitCommaSeparatedStatements
Fix in ValuesAndExpressions::ProhibitCommaSeparatedStatements
Remove PPI workaround in Modules::RequireExplicitPackage.
Remove PPI workaround from
Remove TODO from
Remove PPI workaround from Variables::RequireNegativeIndices.
Remove PPI workaround from
Remove PPI workaround from
Remove PPI workarounds from
Uncomment code from t/ClassHierarchies/ProhibitOneArgBless.run
Remove mentions of fixed PPI bugs from TODO.pod.
Ack! tools/ppidump was not being distributed!
Fix typos in the parameter to English in a couple tests.
Whoops. In r1977, the PPI optimization in
Add TODO for allowing color output through a pipe.
Bump P::C version number to 1.079_002. Will be making development
Well, that was interesting.
ValuesAndExpressions::ProhibitLongChainsOfMethodCalls wasn't
Bring in the exception classes. Nothing is actually done
Cleanup @EXPORT_OK declarations in exception classes. Add exception
Move RCS variables from the top of Changes to the bottom because
Bump PPI version requirement to 1.201 to get rid of the
Update Changes.
Bump P::C version to 1.079_003.
Add "require 5.006001" to Build.PL and Makefile.PL.
Update RequireFinalReturn POD.
Prepare perlcritic for exceptions.
Convert Theme to exceptions.
Remove useless import of Carp from PolicyListing.
Make PolicySummary use proper English punctuation. :]
Remove tags file.
Bring doc directory over from parameters branch.
Add "## no critic" for exceptions to the examples.
Make Violation use exceptions.
Make P::C::Utils use exceptions.
Change P::C::Policy to use exceptions.
Remove unused "use Carp" from ProfilePrototype.
Update Changes.
Bump P::C version to 1.080.
Add failing tests for ProhibitCommaSeparatedStatements from
Add Modules::RequireNoMatchVarsWithUseEnglish to TODO.pod.
Add Expressions::RequireFatCommaInHashConstructors to TODO.pod.
Add note to TODO.pod about adding support for Moose
Fix "-noprofile with -profile" error message in bin/perlcritc to
Added an allow_last_statement_to_be_comma_separated_in_map_and_grep
Temporarily mark the failing test in ProhibitVersionStrings as
Bump P::C version to 1.081_001.
Remove version changes from perlcritic POD due to spelling
Remove doc directory from MANIFEST and thus from the P::C
Undo r2040, the temporary marking of the ProhibitVersionStrings,
Use \p{IsUpper} and \b{IsLower} instead of \p{IsUppercase} and \b{IsLowercase}
Bump P::C version to 1.081_002 in order to test whether we're
Redo r2040, again temporarily, in order to get a development
Put release date into Changes for 1.081_002.
Since 1.081_002 is out, re-undo r2040.
Doh! "require" is runtime, which means the compiler keeps going
Oops. Missed some usage of IsUppercase.
And redo r2040.
Update P::C Changes.
Add Modules::RequireUseVersion and
Bump P::C version to 1.081_003.
And reundo r2040.
Remove ampersands from @EXPORT_OK elements in P::C::Utils::PPIRegexp.
Hopefully the final bit to restore 5.6 compatability: Replace use of
Bump P::C version to 1.081_004.
Update P::C changes.
And undo r2040 /again/.
Fix ProhibitComplexRegexps violations.
Yet again, redo r2040.
Fix RT #30388 ValuesAndExpressions::ProhibitVersionStrings by
Convert P::C::TestUtils to using exceptions.
Finish conversion to exceptions of P::C core.
Add generation of the "resources" entry in META.yml to the
Fix PodSpelling problem with ControlStructures::ProhibitPostfixControls.
Begin the parameters merge with PolicyParameter and its
Put the ControlStructires::ProhibitPostfixControls change into
Add policies to P::C TODO.
Switch skip test in t/20_policy_podspelling.t to use "Silly".
Bump P::C version to 1.081_005.
Update P::C Changes.
Sweep through core modules' POD, primarily concerned with the
Update the P::C class diagram to include the change from
Implement Modules::RequireNoMatchVarsWithUseEnglish.
Fix self-compliance problems in PodSpelling.
Add Moose support to RequireUseStrict.
Add Moose support to RequireUseWarnings.
Merge Policies actually using PolicyParameter objects.
Merge changes to ProfilePrototype to take advantage the parameters
Bring in the updated developer documentation. Needs to be reviewed
Remove Moose TODO.
Make BuiltinFunctions::ProhibitComplexMappings use
Make CodeLayout::ProhibitHardTabs use Parameters.
Make CodeLayout::ProhibitQuotedWordLists use Parameters.
Make CodeLayout::RequireTidyCode use Parameters.
Make ControlStructures::ProhibitCascadingIfElse use
Make ControlStructures::ProhibitDeepNests use Parameters.
Make ControlStructures::ProhibitMutatingListFunctions use
Make ControlStructures::ProhibitPostfixControls use
Make Documentation::PodSpelling use Parameters.
Make ErrorHandling::RequireCarping use Paremeters.
Make InputOutput::ProhibitBacktickOperators use Parameters.
Make InputOutput::RequireCheckedSyscalls use Parameters.
Make Miscellanea::RequireRcsKeywords use Parameters.
Make Documentation::RequirePodSections use Parameters.
Make InputOutput::RequireBriefOpen use Parameters.
Now that RequirePodSections uses Parameters, restore test in
Make Modules::ProhibitExcessMainComplexity use Parameters.
Make Modules::ProhibitEvilModules use Parameters.
Make Modules::RequireExplicitPackage use Parameters.
Make NamingConventions::ProhibitAmbiguousNames use Parameters.
Make RegularExpressions::ProhibitComplexRegexes use
Make Subroutines::ProhibitExcessComplexity use Parameters.
Make Subroutines::ProhibitManyArgs use Parameters.
Make Subroutines::RequireArgUnpacking use Parameters.
Make Subroutines::RequireFinalReturn use Parameters.
Make TestingAndDebugging::ProhibitNoStrict use Parameters.
Make TestingAndDebugging::ProhibitNoWarnings use Parameters.
Make TestingAndDebugging::ProhibitProlongedStrictureOverride
Make TestingAndDebugging::RequireTestLabels use Parameters.
Make
Make ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
Make ValuesAndExpressions::ProhibitCommaSeparatedStatements
Make ValuesAndExpressions::ProhibitInterpolationOfLiterals
Make ValuesAndExpressions::RequireNumberSeparators use
Make Variables::ProhibitPackageVars use Parameters.
Make Variables::ProhibitPunctuationVars use Parameters.
Make parameter description test no-longer TODO.
Remove old marker output in t/15_statistics.t.
Now that all core policies use Parameters, re-enable
Cross reference the configuration classes in their POD.
Add the tools directory to the distribution, since it's
Bump copyright dates.
Bring in ErrorHandling::RequireUseOfExceptions requirement
Trailing whitespace.
Update DEVELOPER.pod in terms of initialize_if_enabled().
Ok, PodSpelling doesn't fall over if something is wrong,
I believe that I've got the PodSpelling problem whacked.
Bump version to 1.081_006.
Update Changes for 1.081_006 release.
Add idea for -l/-L options for perlcritic.
Roll up changes in recent dev releases into the following
Fix some small problems in DEVELOPER.pod.
Small fix to Changes.
Add a bunch of items related to Parameters to TODO.pod.
Bump P::C version to 1.082.
Move ProhibitMagicNumbers from More to core.
Clean up some self-compliance issues now that MagicNumbers
Update P-C/Changes and P-C-More/Changes to mention the
Small tweak to usage output from perlcritic.
Remove commented-out debugging code from
Make Variables::RequireLocalizedPunctuationVars accept "my".
Add missing word in
Add ProhibitMagicDiamond idea to TODO.
Add --list queries to TODO.pod.
Add statistics enhancment ideas to TODO.
Changed spec for VariableNotUsed Policy in TODO.
Change some qq delimiters from {} to <> due to syntax
Add violations per file and per statement to
Give parameter access examples in DEVELOPER.pod.
Rename "lines of code" to "lines" in statistics, because
Remove extraneous vi variable settings in RCS variable
Add "shiftround" to all vi modelines.
Add PolicySummary.pod generation to TODO.
Make Policies that had a theme of "maintance" have a them of
Add a --list-themes option to perlcritic.
commit 71ef7d490b5531cef38317b074095fe288baee39
Add perl 5.10 detection to TODO.
Make ProhibitMagicNumbers accept numbers in Test::More
Add "plan tests => 39" example to the ProhibitMagicNumbers
Add TODO about not killing entire run if a file can't be
Change environment variable for author tests to
Add a maximum number of violations per document attribute
Make use of maximum violations per document and dump the
Allow user configuration of maximum_violations_per_document.
Update t/16_roundtrip_defaults.t to check for
Remove copy-and-pasted ## no critic
Document maximum_violations_per_document in the CONFIGURATION
Change the text that P::C::Policy emits for
Add P::C::Document::highest_explicit_perl_version() for the
Add TODO for describing maximum_violations_per_document in
Add PolicyConfig todo.
Move getting a Policy's name out of the loops in
Add todo for
Failing tests for *STDOUT being detected by
Failing tests for standard filehandles in
Spelling in DEVELOPER.pod.
Add allow_all_brackets parameter to
Grammar fix in ProhibitUnusualDelimiters.
Add allow_all_brackets parameter to
Fix violation description in ProtectPrivateSubs.
Fix is_perl_global to deal with filehandles, e.g. *STDOUT.
Whoops. Self compliance in RequireBracesForMultiline and
*sigh* Grammar in RequireBracesForMultiline and
Create P::C::PolicyConfig.
Actually use PolicyConfig.
Remove PolicyConfig todo.
Remove the "IMPORTANT CHANGES" section in Perl::Critic. I
Add version information to the POD files.
Bump P::C version to 1.083_001.
Regenerate P::C READM.
Update Changes.
Add t/01_policy_config.t to the list of tests that need to
Regenerate P::C's MANIFEST and META.yml.
Dump the code formatting of the PHILOSOPHY sestion in
Oooh. Bad Elliot. Didn't update Makefile.PL when I added
Add Moose::Role excemptions to RequireUseStrict and
Update Changes to reflect the Moose::Role exemptions.
Copy descriptions from PolicySummary over to the
Copy descriptions from PolicySummary over to the
Copy descriptions from PolicySummary over to CodeLayout::*
Copy descriptions from PolicySummary to ControlStructures::*
Spelling in Changes.
Fix comment in TestingAndDebugging/RequireUseWarnings.run.
Add todo about stealing ideas from Dunce::Files.
Copy descriptions from PolicySummary to Documentation::*.
Copy description from PolicySummary to
Copy descriptions from PolicySummary to InputOutput::*.
Copy descriptions from PolicySummary to Miscellanea::*.
Copy descriptions from PolicySummary to Modules::*.
Change documentation for Policies with a default maximum
Copy descriptions from PolicySummary to
Copy description from PolicySummary to
Copy descriptions from PolicySummary to
Copy descriptions from PolicySummary to Subroutines::*.
Copy descriptions from PolicySummary to
Copy descriptions from PolicySummary to
Copy descriptions from PolicySummary to Variables::*.
Create tools/svnkeywords to make setting the correct value
Initial P::C::Utils::POD implementation.
Let's see how this one goes over.
Fix a couple mis-copied Policy descriptions.
Fix spelling issues that showed up due to the copying of
Implement get_module_abstract_*().
Add allow_all_brackets to
Fix mis-copied description in ProhibitCascadingIfElse.
Weird PPI crud going on. Policy indirectly invokes
Implement Policy::_get_source_file(), to, well, you know,
Fix 80_policysummary.t in the fail to open PolicySummary.pod
Test P::C::Utils::shebang_line() in t/05_utils.t.
Fix missing documentation and self-compliance issues in
Generate P::C::PolicySummary, rather than have to maintain
What the hell was I thinking? Remove C-style comment from
Update MANIFEST and META.yml.
Add todo for the old swswsw policy suggestion.
Simplify inc/Perl/Critic/BuildUtilities.pm
Overexpand P::C::Utils::POD.
Emit Policy abstract as part of the profile prototype.
Use raw abstract accessor on Policy in PolicySummary.pod.PL, instead
Use Utils::POD in Violation.
*sigh* RequireBriefOpen complains when there are multi-line
Describe default_maximum_violations_per_document() in
Convert 20_policy_prohibitmagicnumbers.t to
Change ProhibitMagicNumbers to allow constant subroutines.
Get explicit on all dependencies, including core ones, in
Update MANIFEST.
Re-enable POD test in 95_kwalitee.t. Whatever has changed
Check that there's at least one Policy enabled.
Require all Policies to have an AFFILIATION POD section.
Fix tests that broke as a result of Config now throwing an
Add an AFFILIATION POD section to all the Policies.
Make sure all Policies have a CONFIGURATION POD section.
Update MANIFEST.
Change text of the CONFIGURATION section for the non-
Add meta_merge to most of the distributions. For the
More whacking on DEVELOPER.pod.
Add TODO from Andy about a policy about not using
More TODOs.
Initial implementation of
Needed to tack on a bit more to Mike's credit.
Add link to Perl Buzz article in
Finish up ProhibitLabelsWithSpecialBlockNames.
Update class diagram, including potential core-class
Exempt STD(IN|OUT|ERR) from RequireBriefOpen.
Rename Defaults to OptionsProcessor because that's what it
Fix ControlStructures::ProhibitLabelsWithSpecialBlockNames'
Bump PPI version requirement to 1.203.
Bump version to 1.083_002. I want to get test reports with
Update Changes.
The combination of M::B not copying empty directories and
Grrr. Left debugging code in.
Add TODO for Variables::ProhibitPunctuationVars to look
Who knew that generating the PolicySummary was so fraught
Update changes.
Even more fun getting detection of policy load paths
Bump P::C version to 1.083_003.
Never gave ProhibitMagicNumbers a proper abstract. It had
Wherps. The META.yml with the version bump didn't make it
Regenerate P::C README.
Fix link in DEVELOPER.pod.
Remove duplicate "Theme" section in DEVELOPER.pod.
Weird failure on Windows with PolicySummary.pod.PL. Even
Delete META.yml, MANIFEST, and README. Just have them
Remove my-style end-block comments copied into Build.PL.
Bump P::C version to 1.083_004.
Initial, dumb implementation of
Update Changes.
Clean out TODO.pod.
Don't kill entire run due to problem with a single file.
Grrr... Stupid mistake in Changes.
Make ppidump stop if the parse fails.
Include parse error message in failure output from ppidump.
Do kill a perlcritic run if the problem isn't a parse error.
Add InputOutput::ProhibitUTF8IOLayer to TODO.
Force stack traces on for all Exception::Class objects on
Update Changes.
Bump P::C version to 1.083_005.
Update README.developer in light of recent changes.
Stop ProhibitMatchVars from detecting "use English;". The
Fix RT #36059, in which ProhibitPerl4PackageNames was
One more time with PolicySummary generation on Windows.
Update Changes.
Bump P::C version to 1.083_006.
Attempt to keep certain files out of the search.cpan.org
Failing test for 5.10 // operator in ProhibitUnreachableCode.
Fix ProhibitUnreachableCode in terms of the 5.10 // and err
Fill in a bunch of RT numbers in Changes.
Merge the comments in Changes for the 1.083_00x releases
Bump P::C version to 1.084.
Abtracts for ProhibitNestedSubs and ProhibitManyArgs were
Failing test from ack for
Oh, the horror of an extra semi-colon in one's code! Found
Add two documentation policies to TODO.
Add missing dependency upon Exporter to Makefile.PL and
Add a bit of explanation to ProhibitPostfixControls.
Misplaced returns in t/14_policy_parameters.t.
Get explicit about the perl dependency and put a
Remove failing test for
Fix BuildUtilities handling of Readonly::XS. Readonly::XS
Whoops. Just because Readonly loads, don't assume that
Catch a few more cases in ProhibitUnusedVariables.
Update Changes.
Bump P::C version to 1.085.
Fix RT #36569. The color option wasn't being paid attention
Make --colour equivalent to --color.
Wow. Term::ANSIColor wasn't in the recommended module list.
Change NamingConventions::ProhibitAmbiguousNames to specify
Change indent in Changes to 4 spaces instead of 5. Grrr,
Bump P::C version to 1.086.
Failing test for CodeLayout::ProhibitParensWithBuiltins
Update P::C Changes to reflect Chris'
Change qr delimiters and insert some spaces to make regexes
More spaces in RequireTidyCode.
Ensure all Makefile.PL and Build.PL files include a
RequireUseWarnings now ignores files with "use 5.005".
Fix Complexity in ProhibitParensWithBuiltins.
ProhibitTwoArgOpen now ignores files with "use 5.005".
Handle files with name "0".
Moved detection of the lack of any enabled policies from
Bump P::C version to 1.087.
Add periods to the end of abstracts for ppidump, perlcritic,
Change the --Version option to --version.
Change ProhibitLeadingZeros to apply to Token::Number::Octal
Add RegularExpressions::RequreDotMatchAnything Policy to
Change ValuesAndExpressions::ProhibitLeadingZeros to allow
Change ValuesAndExpressions::ProhibitLeadingZeros to allow
Change ValuesAndExpressions::ProhibitLeadingZeros to allow
Change ValuesAndExpressions::ProhibitLeadingZeros to allow
Change ValuesAndExpressions::ProhibitLeadingZeros to allow
Fix ProhibitInterpolationOfLiterals in
Modify suggestion for Policy name that prohibits calling
Suggest ErrorHandling::RequireLocalizingEvalErrorInDESTROY
Link to Ovid's use.perl Journal entry in the
After discussion at YAPC, raise ProhibitUnusedVariables
Properly check result of eval in perlcritic. Should write the
Prior to leaving for airport, commit what I've got so far on
Finish implementation of RequireCheckingReturnValueOfEval.
Finish self compliance issues with
Add TODO about double periods in Violation.
Document RequireCheckingReturnValueOfEval.
Bump P::C version to 1.088.
Forgot to add "1;" to end of eval block in RequireTidyCode.
And there was a missing "1;" at the end of an eval in
POD cleanup in RequireCheckingReturnValueOfEval.
Fix 1.088 date in Changes.
Fix RT #37416, ProhibitSleepViaSelect, with three undef
Forgot to update Changes about ProhibitSleepViaSelect.
Failing test for ProhibitSingleCharAlternation.
Move the files related to 06_violation.t to
Fix evals in generated test wrappers and eliminate
Move generate_without_optional_dependencies_wrappers.PL to
Time for more self compliance: create 42_criticize-tests.t.
Fix RequireVersionVar in tests.
Fix hard tabs in 06_violation.t.
Fix missing trailing comma in 09_theme.t.
"## no critic" out ProhibitCStyleForLoops in tests.
Fix ProhibitMismatchedOperators in 94_includes.t.
"## no critic" RequireFilenameMatchesPackage in 02_policy.t.
"## no critic" ProhibitStringyEval in 20_policies.t.
"## no critic" ProhibitMultiplePackages in 02_policy.t.
Fix RequireLocalizedPunctuationVars 07_perlcritic.t.
Fix RequireFinalReturn in tests.
"## no critic" out ProhibitNoWarnings in tests.
"## no critic" out RequireBriefOpen in tests.
Fix ProhibitUnusedVariables in
ProhibitUnusedCapture was missing a /g modifier on a match.
Whoops. Didn't update Changes for the ProhibitUnusedCapture
Fix RequireCarping in tests.
Fix ProhibitCaptureWithoutTest in 80_policysummary.t.
Fix ProhibitExcessMainComplexity in tests.
"## no critic" out ProtectPrivateSubs in tests.
Fix some RequireTestLabels problems. A lot more to go yet.
Revert r2533 and disable Subroutines::ProtectPrivateSubs in
Convert L<Some::Module> escapes to
Failing test for ProhibitAmpersandSigils with sort.
Failing "(caller(0))[3]" test for
Revert ProhibitParensWithBuiltins test change. I was looking
Fix ProhibitAmpersandSigils in the "sort &foo(...)" case.
Finish RequireTestLabels fixes in 10_userprofile.t.
Fix RequireTestLabels problems in 02_policy.t.
Add --list output formatting to TODO.pod.
Fix RequireTestLabels in 09_theme.t.
Update class diagram to mark more classes as public.
Fix the last of the RequireTestLabels problems.
Fix RequireExtendedFormatting in 01_config.t.
Fix RequireExtendedFormatting in
More RequireExtendedFormatting fixes in tests.
Finish fixing RequireExtendedFormatting problems.
Knock out RegularExpressions::ProhibitComplexRegexes and
Fix RequireCheckedClose in tests.
Make -s a synonym for --single-policy.
Add TODO test for Subroutines::RequireFinalReturn having to
The for loop TODO test for RequireFinalReturn wasn't quite
Fix RequireFinalReturn in 05_utils.t.
Fix RequireCheckedClose in 05_utils.t.
Fix RequireRcsKeywords in tests.
Fix ProhibitDoubleSigils in tests.
Fix ProhibitEmptyQuotes in tests.
Fix ProhibitLocalVars in 20_policy_podspelling.t. Someone
Fix ProhibitPunctuationVars in tests.
Fix RequireLineBoundaryMatching in 99_pod_coverage.t.
Remove documentation about the -config option to P::C::new()
Add allow_double_quote_if_string_contains_single_quote
Fix PodSpelling problems caused by the doubling up of L< >
Change name of option in ProhibitInterpolationOfLiterals to
Add exec to the list of things accepted by
POD formatting cleanups in DEVELOPER.pod and minor doc edit
Knock out ProhibitMagicNumbers for the tests right now.
Add rcs_keywords option to RequireInterpolationOfMetachars.
Fix PodSpelling issues in tests. In t/05_utils_pod.t, I had
Fix ProhibitEnumeratedClasses in 94_includes.t.
Fix RequireBracesForMultiline in 01_config_bad_perlcriticrc.t.
Fix ProhibitInterpolationOfLiterals in tests.
Fix noisy strings in tests.
Fix ProhibitEscapedCharacters in
Fix ProhibitEscapedMetacharacters in tests.
Deal with RequireInterpolationOfMetachars in tests.
Fix ProhibitPostfixControls in tests.
Knock out RequirePodSections in 20_policy_podspelling.t.
Bump P::C version to 1.089.
ProhibitSingleCharAlternation test was failing when
Bump P::C version to 1.090.
20_policies.t didn't have a "1;" at the end, so it failed to
TODO about ControlStructures::ProhibitPostfixControls
Add RT # to ProhibitPostfixControls TODO.
Failing test for
Another example of a problem in
in 20_policies.t, specify a more useful format for
Update Changes to reflect the fix for RT #38380 that RJBS
Add the xt directory to no_index in Build.PL.
Comment in P::C::Document about underscores in perl version
Apply the unmodified patch from Schwern (modulo dealing with
Clean up self compliance problems introduced by Schwern's
Apply raw patch from Schwern for
Clean up both existing problems and problems with Schwern's
Update Changes with the new allow_with_category_restriction
Fix missing word in the ProhibitNoWarnings POD.
Apply raw patch from Schwern that adds options to
Clean up Schwern's
Make the changes to
Change perlcritic to not unconditionally add a "-" to the
Add ".project" to all of the MANIFEST.SKIP files.
Create an option for CodeLayout::ProhibitQuotedWordLists
Implement RegularExpressions::RequireDotMatchAnything.
Make Policies comply with
Make rest of code comply with
Make tests comply with
Forgot to set svn:keywords on
Fix PBP page numbers in ProhibitMixedCaseVars and
Apply Schwern's NamingConventions::Capitalization patch from
Undo Schwern's changes in the last patch to the
Allow RequireRcsKeywords to find things after __END__.
Document the rcs_keywords option for
In partial response to Schwern's patch for "non-program"
Add test case to RequireEndWithOne.run from Schwern's
Fix RequireFilenameMatchesPackage in terms of programs.
Use is_document_exempt() RequireExplicitPackage and
Fix PodSpelling in RequireInterpolationOfMetachars.
Release P::C 1.093_001 so that I can get access to the
Whoops. Missed some version number changes in the 1.093_001
Restore Schwern's Capitalization policy.
Update $VERSION in NamingConventions::Capitalization.
Rewrap the POD in NamingConventions::Capitalization and
Small POD addition to ControlStructures::ProhibitPostfixControls.
Change Modules::ProhibitEvilModules to include the bad module name in
Change Modules::ProhibitEvilModules::initialize_if_enabled() into a
Allow specification of violation descriptions in ProhibitEvilModules.
Add autodie support to the InputOutput::RequireChecked* policies.
Put caveat about autodie support into Changes.
Fix date prototype at the top of Changes. Yeah, it annoyed me. :]
Add TODO to enable removing "## no critic" markers.
Change ppidump to emit element locations.
Update autodie support to v1.994.
Rename is_document_exempt() to prepare_to_scan_document().
Add threading idea to TODO.pod.
Update threading comment in TODO.pod.
Add a test file for things we want from PPI.
Add cleaned up versions of Utils::PPI::is_subroutine_declaration() and
Fix self compliance in t/05_utils_ppi.t and Utils::PPI.
Add test for Statement::Include::module_version() in
The big NamingConventions::Capitalization rejiggering. Need to make
Simplify the regexes for the default global variables that are exempt
Add "main" to the default package name exemptions to
Failing test for Modules::RequireNoMatchVarsWithUseEnglish from
Add a :single_case tag to NamingConventions::Capitalization and
Add a bunch of stuff to TODO.
Add failing test for __PACKAGE__->_foo() for ProtectPrivateSubs.
Handle the __PACKAGE__->_foo() case in ProtectPrivateSubs.
RT #39787 is wrong. RequireNoMatchVarsWithUseEnglish is correct, as
More fully state that development is done using Module::Build.
Add explanation to RequireNoMatchVarsWithUseEnglish about merely not
Add AUTOLOAD exceptions to NamingConventions::Capitalization and
Fix subroutine capitalization in Modules::RequireVersionVar and mark
$P::C::Violation::FORMAT loses to NamingConventions::Capitalization.
And $P::C::Policy::FORMAT bites the dust too.
Add exceptions for the standard tie subroutines to
Code cleanups to comply with NamingConventions::Capitalization.
Delete dead code from NamingConventions::ProhibitAmbiguousNames.
Move policy bugs from TODO.pod to the actual Policies. Users should
Add small links HTML page for holding links to *nix P::C packages and
Missed RegularExpressions::ProhibitCaptureWithoutTest in earlier bugs
Links to Test::P::C.
Add subroutine name to violation descriptions for
Disable Modules::ProhibitEvilModules if there aren't any evil modules.
Rename the t/20_policy_*.t tests to include underscores so that the
Failing test with ProhibitParensWithBuiltins that I'm not sure what to
Add a check on myself: add a test that complains if any of the
Don't complain about capitalization of BEGIN, UNITCHECK, etc. no
Add nytprof to the MANIFEST.SKIP files.
Add exemptions for $TODO and $SKIP to Capitalization.
Capitalization self-compliance in tests.
Allow any number of leading underscores in names that are supposed to
Self-compliance.
Add $VERSION to t/03_useless_pragmas.t and add it to the list of tests
Create P::C::Config::all_policies_enabled_or_not() and use it in
Remove column numbers from =over POD directives. The POD formatter
Get generation of t/NamingConventions/Capitalization.run in place.
Finally able to individualy commit the Perl-Critic directory itself
Remove the fictional $SKIP from NamingConventions::Capitalization.
Mark failing test for CodeLayout::ProhibitParensWithBuiltins as TODO
Fix self compliance of P::C::(Violation|Annotation).
Update Changes for developer release.
Bump P::C version number for developer release. Unfortunately, I
Change regex delimiters in P::C::Document in order to passify editor
Get rid of most conditional loading of modules in xt/author tests. If
Add optional modules used in tests to 82_optional_modules.t.
Handle labels in NamingConventions::Capitalization.
POD updates in NamingConventions::Capitalization.
Handle standard filehandle names in NamingConventions::Capitalization
Mention IPC::System::Simple in the ProhibitBacktickOperators POD.
Mention parent in the POD for ProhibitExplicitISA.
Add exclude_functions parameter to RequireCheckedSyscalls.
Update Changes.
Progress on Capitalization tests.
Test all the standard Capitalization schemes. Regexes aren't tested
Reformatting in Changes. Certain people need to ensure their editors
More Capitalization tests for local lexical variables and labels.
Add RCS variable block to the top of Capitalization.run.PL.
Fix spelling problems in RequireLineBoundaryMatching found by someone
Do a brain dump into TODO.pod.
Document package-splitting function needed for Moose in TODO.pod.
Get Perl-Critic/t/20_policies.t and Perl-Critic-Moose/t/policies.t to
Perl-Critic-Moose/t/policies.t and Perl-Critic/t/20_policies.t weren't
Fix Capitalization in the foreach loop variable case.
Fix generation of Capitalization tests for foreach loop variables.
Add Gentoo link to doc/links.html.
Add Moose standard subroutines to the default list of exemptions in
Add Moose::Util::TypeConstraints as yet another equivalent to the
Add a equivalent_modules option to RequireUseWarnings like the one
Cleanup for a new developer release. Getting irritated with the
Bump P::C version to 1.093_03.
Fix POD formatting in ProhibitUnrestrictedNoCritic. Trailing
Add acknowledgement to Adam in ProhibitUselessNoCritic.
*sigh* Give up on handling comma-separated variable declarations in
Create P::C::Utils::Perl to hold symbol_without_sigil().
POD typo fix in P::C::Utils::PPI.
Test regular expression values for the name options for
Test Capitalization name exemptions.
Test and fix the problems with scoped lexicals in Capitalization.
Make sure that variables in continue blocks are treated as local
Test file lexical and global variables in Capitalization.
Test Capitalization exemptions for builtin variables and variables in
Add customization example to Capitalization and create tests for it.
Move .perlcriticrc example to the end of the CONFIGURATION POD section
Move NamingConventions::ProhibitMixedCase* from core to
Update P::C Changes to reflect the move of
Fix for package statements in ProhibitUnreachableCode from Kevin Ryde.
Document policies which won't enable themselves if prerequisite
Remove remaining references in core to the ProhibitMixedCase* policies
Spelling fix in POD.
Fix self compliance in ControlStructures::ProhibitUnreachableCode.
Fix RT #41926 in InputOutput::ProhibitOneArgSelect.
Fix problem where PolicyFactory would fall over if policy-strictness
Make Subroutines::RequireFinalReturn include the subroutine name in
BuiltinFunctions::ProhibitStringyEval now has an allow_includes option
Make use of the allow_includes BuiltinFunctions::ProhibitStringyEval
Disable Policies which use P::C::Utils::PPIRegexp::parse_regexp() if
Update copyright years for 2009 in the main P::C distro.
Update the PBP page numbers in NamingConventions::Capitalization to
Merge all the stuff under 1.093_0* to 1.094 in Changes.
Bump P::C version to 1.094.
Whoops. The disabling of the RegularExpressions policies caused
Temporarily disable
Revert r2941 (disabling of
Add TODO for PBP section numbers in violation explanations.
Add the tools directory to the no_index in META.yml.
Add means of .run files being disabled if prerequisites aren't
Bump the P::C version to 1.094001.
Spelling fix in skip message in t/16_roundtrip_defaults.t.
Fix distclean target in Makefile.PL. Patch by Richard Soderberg,
Update Changes for the Makefile.PL patch.
Clean up trailing whitespace and a small edit to the NAME section of
Small alignment fix in POD for Documentation::RequirePodSections.
Apply documentation patch from RT #41942.
Apply patch to extras/perlcritic.el from RT #42190.
Apply unmodified patch to P::C::Document for dealing with requiring of
Clean up the patch to P::C::Document from RT #36570.
Update Changes to reflect recent patches.
Merge rt42384 branch to trunk.
Merge 'rt41443' into 'trunk/distributions/Perl-Critic'
Merge 'fix-utils-pod-t' into 'trunk/distributions/Perl-Critic'
Merge 'heredoc-regex-fix' into 'trunk/distributions/Perl-Critic'
Add stop_words_file option to Documentation::PodSpelling.
Fix line-length in POD in Documentation::PodSpelling.
Add a modules_file option to Modules::ProhibitEvilModules.
Since upping the limit for InputOutput::RequireBriefOpen, there were a
Not having a default value for Documentation::PodSpelling's
Bump P::C version to 1.095_001. This time, I made sure not to screw
Change TODO for ErrorHandling::RequireLocalizingEvalErrorInDESTROY to
Merge 'rt38530' into 'trunk/distributions/Perl-Critic'
Trailing whitespace in Changes.
Add links to ppi_dumper and PPI::Tester in P::C::DEVELOPER.
Add TODO about moving static policy data into the POD.
Do ye olde doubling up of the contents of L<> "formatting codes"
Merge 'rt28120' into 'trunk/distributions/Perl-Critic'
Add Hasselbacher to the stop word list and put the good news at the
Merge 'rt32616' into 'trunk/distributions/Perl-Critic'
Add idea for
There is no Class::Exception on the CPAN and clean trailing whitespace
Failing test for ProhibitTrailingWhitespace where PPI creates
Fix CodeLayout::ProhibitTrailingWhitespace in the face of instances of
Failing tests for Variables::ProhibitReusedNames RT #42767.
Fix Variables::ProhibitReusedNames RT #42767.
Fix indention in Variables::ProhibitReusedNames.
Add RT #42767 to Changes and sort the bug fixes by Policy name.
Fix text width in new POD in Variables::ProhibitReusedNames.
Update doc/PerlCriticClasses.pdf to reflect the renaming of the
Add Twitter links.
"colour" stopword in P::C::Config.
Change the "exceptions" option for RequireLocalizedPunctuationVars to
In RequireLocalizedPunctuationVars, take the sigil into account for
Add RequireLocalizedPunctuationVars updates to Changes.
Add Fink package link to doc/links.html.
Change t/05_utils_pod.t to deal with recent changes to Pod::Parser.
Bump P::C version to 1.096.
Merge stuff in 1.095_001 into 1.096 in Changes.
Merge 'Perl-Critic-1.096' into 'trunk/distributions/Perl-Critic'
Merge 'Perl-Critic-1.096' into 'trunk/distributions/Perl-Critic'
Fix name of option in POD in Subroutines::ProtectPrivateSubs.
Make the description of the allow_subscripts option for the
Commit what I've got so far of Modules::ProhibitUnusedImports. It
Add link to Perl Monks discussion of the policy to
Add link to Perl Monks discussion of the policy to
Add FindBin to default exemptions in Variables::ProhibitPackageVars.
Do a brain dump into TODO.pod files and TO DO sections in Policy POD.
Fix repository URL specifications for META.yml in the Build.PL files.
Get rid of hard tabs in .run files.
Make sure there are RCS variables and modelines in all the .run files.
Add simple cleanliness checks on the .run files and fix found issues.
Merge 'rt38855' into 'trunk/distributions/Perl-Critic'
Fix $VERSION variables in new Policies.
Until the interpolated context situation is resolved move
Fix issues with non-core Policies and compliance of generated .run
Fix British spelling in PolicyConfig.
Fix PodSpelling issues.
Whitespace refactoring in RequireCarping.
Fix use of $! in Utils and TestUtils.
Merge 'rt39601' into 'trunk/distributions/Perl-Critic'
Update Changes with the branches/rt39601 merge.
Fix ProhibitMixedBooleanOperators in RequireArgUnpacking.
Fix test self-compliance issues.
Fix POD section names in Variables::ProhibitPunctuationVars.
Add allow_to_the_right_of_a_fat_comma option to ProhibitMagicNumbers.
Remove empty TO DO section in ProhibitMagicNumbers.
Add Log::Log4perl to the default exemptions in
Align numbers in statistics output.
Make -p a synonym for --profile.
Move the guts of perlcritic into Perl::Critic::Command.
Change default themes in Variables::ProhibitMatchVars to "core
Remove sigil from example use of the constant pragma in
ProhibitNegativeExpressionsInUnlessAndUntilConditions didn't include
In Perl::Critic::_critique(), if the element type is PPI::Document,
Fix occurrences where there was C<Module|Module> instead of
Move the custom Module::Build subclass into a proper module in the inc
Centralize module dependencies in Makefile.PL and Build.PL.
Create authortestcover action for Build.
Add an INTERFACE SUPPORT section to the POD stating whether a
Add INTERFACE SUPPORT section to the POD for the exceptions.
Add "private_name_regex" option to Subroutines::ProtectPrivateSubs.
Make subs starting with double underscore not private in
Until after the release, revert Variables::ProhibitPunctuationVars to
Set the $VERSION to a proper 7 digit number, rather than a 6 digit
Make private subroutines in P::C::Command private. (And I made sure
Restore the ProhibitPunctuationVars changes by reverse merging r3196.
Add TODO test to t/Variables/ProhibitReusedNames.run from Kevin Ryde
Fix access of non-public variable in Term::ANSIColor in P::C::Config.
Bump P::C version to 1.097_002.
Re-revert the ProhibitPunctuationVars changes.
Must depend upon the manifest action in the M::B authortest action
And put ProhibitPunctuationVars back again. *sigh*
Add is_enabled() method to P::C::Policy in preparation for providing a
Small update to PerlCriticClasses.graffle to get the public/private
Prototype specifying static metadata in the Policy POD on
Add a %C format to Violation that shows the PPI class of the violating
Undo r3218. Violation::element_class() is supposed to be public. The
Whoops. Forgot to add to the test count in t/00_modules.t for the
Add an AUTHOR section back to NamingConventions::Capitalization so
Fix self-compliance issue in P::C::Utils.
Document Violation::element_class().
Update Changes in preparation for release.
Bump P::C version to 1.098.
Temporarily revert metadata prototype in RequireBlockGrep for release.
The ProhibitPunctuationVars changes are momentarily out again.
Merge the Changes for the 1.097_* releases into 1.098.
A bunch of files didn't have svn:keywords set on them. I ran
Apply r3377-r3380 to the PPI 1.203 cleanup branch.
A couple of useless "## no critic"s fell out of self-compliance in the
Set the P::C version to 1.100 in the PPI 1.203 cleanup branch.
Update Changes on the PPI 1.203 cleanup branch.
Fix InputOutput::ProhibitReadlineInForLoop in terms of PPI 1.204_04.
PPI 1.204_04 (correctly) doesn't like "for local $foo ...", so remove
Fix Variables::RequireLexicalLoopIterators with regards to PPI
Remove TODO from the state variable tests in
Fix RegularExpressions::ProhibitUnusedCapture with regards to PPI
Fix ErrorHandling::RequireCheckingReturnValueOfEval in regards to PPI
Fix t/06_violation.t in relation to PPI 1.204_04 and take advantage of
Small indentation change in Perl::Critic::Document.
Make sure that P::C::Violation works after the document that the
Fix Variables::RequireLexicalLoopIterators in the case where the loop
Additional RequireLexicalLoopIterators tests for loops with labels.
Set the P::C version to 1.101_01 in the PPI 1.204 compatibility
Fix the P::C version for the PPI 1.204 compatibility branch to have
Update Changes for P::C 1.101_001.
Set the PPI version requirement to 1.204_05 in the PPI 1.204
Change all references to PPI::Structure::ForLoop to
Bump the PPI minimum version to 1.204_06 in the PPI 1.204
Bump the P::C version number to 1.101_002 in the PPI 1.204
Update Changes for P::C 1.101_002.
Bump P::C version to 1.101_003 in the PPI 1.204 compatibility branch.
Update Changes for P::C 1.101_003.
Fix release date of P::C 1.101_003 in Changes.
Bump P::C version to 1.102 in the PPI 1.204 compatibility branch.
Update Changes for the 1.102 release on the PPI 1.204 compatibility
Make PPI version dependency 1.205.
Bump P::C version to 1.103 in the PPI 1.204 compatibility branch.
Specify a Module::Build version in Build.PL, rather than let
Merge r3235 and r3236 to the backlog branch.
Merge r3237 and r3238 to trunk.
Merge r3244 to the backlog branch.
Merge r3254-6, r3258, r3265, and r3266 to the backlog branch.
Merge r3283 to the backlog branch.
Merge r3295 to the backlog branch.
Merge r3330 to the backlog branch.
Merge r3468 to the backlog branch.
Merge r3239 to the backlog branch.
Merge r3240 to the backlog branch.
Merge r3241 to the backlog branch.
Fix $VERSION in Objects::ProhibitIndirectSyntax.
Merge r3242 to the backlog branch.
Merge r3243 to the backlog branch.
Merge r3247 to the backlog branch.
Merge r3248 to the backlog branch.
Merge r3249 to the backlog branch.
Merge r3257 to the backlog branch.
Merge r3259 to the backlog branch.
Merge r3267 to the backlog branch.
Merge r3268 and r3269 to the backlog branch.
Merge r3279 to the backlog branch.
Merge r3284 to the backlog branch.
Merge r3285 to the backlog branch.
Merge r3286 and r3287 to the backlog branch.
Merge r3288 to the backlog branch.
Merge r3291 to the backlog branch.
Merge r3300 to the backlog branch.
Merge r3301 to the backlog branch.
Merge r3302 to the backlog branch.
Merge r3303 to the backlog branch.
Merge r3305 to the backlog branch.
Merge r3307 to the backlog branch.
Merge r3308 and r3309 to the backlog branch.
Merge part of r3323 to the backlog branch.
Merge r3325 to the backlog branch.
Merge r3326 to the backlog branch.
Merge r3346 and r3347 to the backlog branch.
Merge r3352 and r3356 to the backlog branch.
Did the equivalent of the patch in RT #47318 to
Use Email::Address to get
Fix issue found in
Code cleanups in Modules::ProhibitAutomaticExportation done during fix
Merge r3233, r3245, and r3246 to the backlog branch.
Merge r3348 to the backlog branch.
Merge r3349 and r3355 to the backlog branch.
Merge r3351, r3353, and r3357 to the backlog branch.
Merge r3354 to the backlog branch.
Merge r3358 to the backlog branch.
Merge r3359 to the backlog branch.
Merge r3422 to the backlog branch.
Merge r3423 to the backlog branch.
Merge r3424 to the backlog branch.
Merge r3425 to the backlog branch.
Merge r3426 to the backlog branch.
Merge r3461 to the backlog branch.
Break out the tests of ignoring email addresses from
Merge r3456 to the backlog branch.
Merge r3470 to the backlog branch.
Merge r3475 to the backlog branch.
Merge r3476 to the backlog branch.
Merge r3481 to the backlog branch.
Merge r3421 to the backlog branch.
A couple of small self-compliance issues in
Merge most of r3563 to the backlog branch.
Merge r3567 to the backlog branch.
Specify version 0.19 as minimum for List::MoreUtils. RT #48917
Merge r3577 to the backlog branch. Minor, stupid typo in Changes.
Merge r3579 to the backlog branch. Minor documentation problem in
Mention minor documentation fix for RT #48936 in Changes.
Simplify ValuesAndExpressions::ProhibitVersionStrings a lot by using
Have ValuesAndExpressions::ProhibitVersionStrings apply to all include
Add ~~ to the operator precedence table in P::C::Utils.
Merge r3570 to the backlog branch. Add terminal 1; so test can be
Fix "ensure we run true" comment at all the tests that get wrapped
Merge r3571 to the backlog branch. Remove superfluous import of
Merge r372 to the backlog branch. Remove mention of Switch in
Update Changes with the various RT tickets that have been fixed.
Sync Changes on the backlog branch with the changes done in r3595 on
Rename the --list-used command-line option to --list-enabled. This
Mention indirect and Perl::Critic::Policy::Dynamic::NoIndirect in the
Fix Variables::ProhibitPunctuationVars reference to non-public
Add is_script to the imports in
Recent change to ValuesAndExpressions::ProhibitVersionStrings wasn't
Test in t/Subroutines/RequireFinalReturn.run is no longer TODO and
Unsurprisingly, there were some self-compliance issues with the recent
Bump P::C version to 1.104.
Add missing "on" to Changes on the backlog branch.
In ValuesAndExpressions::RequireInterpolationOfMetachars, change the
Remove incorrect comment in Changes that
Merge r3614 to the backlog branch. Correct presumptive typo in
Fix RT #49016. Variables::ProhibitPunctuationVars would complain
Change InputOutput::RequireCheckedSyscalls to complain about "say" by
Bump the P::C version to 1.105.
Merge r3375, r3376, and r3381 to the backlog branch.
Rename the "--script-extensions" parameter to "--program-extensions"
Get rid of P::C::Document::document_type() and just leave
Merge r3313 to the backlog branch. Merge STDERR into STDOUT, so
Mert r3442 to the backlog branch. Add
Merge r3448, r3615, r3616, and r3649 to the backlog branch.
Merge r3636 to the backlog branch. Assigned the COPYRIGHT to
Merge r3637 to the backlog branch. Use my imaginative-software.com
Merge r3619 to the backlog branch. Validate colors using the new
Rename $P::C::Utils::Constants::MODULE_VERSION_TERM_ANSICOLOR to
Merge r3620 to the backlog branch. Fix regression on 'use VERSION'.
Merge r3621 to the backlog branch. For what it isi (or is not) worth,
Fix $VERSION in Variables::ProhibitEvilVariables.
Merge r3632 to the backlog branch. Most of 'RT 36081 redux'. The
Merge r3646 to the backlog branch. I just realized my fix for RT
Merge r3648 to the backlog branch. RT 49609:
Merge r3650 to the backlog branch. RT #49500: From Debian:
Merge r3651 to the backlog branch. This file contains a (very
Fix current subversion version and indent the code blocks by the
Merge r3455 to the backlog branch. A few more isa_ok tests to verify
Merge r3469, r347[1-4], and r3564 to the backlog branch.
Merge r363[89] to the backlog branch.
Merge r364[34] to the backlog branch.
Merge r3645 to the backlog branch. The "## no critic" annotations are
Merge r3677 to the backlog branch. Remove the ability to specify
Fix PBP page numbers in
Add idea for Subroutines::ProhibitUnusedPrivateSubroutines to
Merge my long-uncommitted Policy::is_unsafe() stuff with Jeff's
Add link to Alexandr Ciornii's executable in Perl::Critic's POD.
Link to Chas. Owens' post in P::C::DEVELOPER.
Fix example in BuiltinFunctions::RequireGlobFunction as commented on
Add Modules::RequirePackageDeclaration to TODO.pod.
Change RequirePackageDeclaration to
Add note in POD of Documentation::PodSpelling about aspell's tendency
Failing tests for RT #52391.
Update TODO about multiple namespace support in P::C.
Add TODO tests to TestingAndDebugging/RequireUseStrict.run for "use
Change Subroutines::ProtectPrivateSubs to allow calling public methods
Punctuation change in test name in Subroutines/ProtectPrivateSubs.run.
Change Subroutines::ProhibitNestedSubs to not complain about
Add note to Subroutines::RequireFinalReturn about it not handling
Fix prerequisites in Perl::Critic POD.
Add hint on figuring out what word with punctuation is misspelled to
Move POD coverage and syntax tests to xt in P-C. Why do users care
State which Policy changed for "state ($foo)" in Changes.
Add entry in P-C Changes about moving P::C::Utils::PPIRegexp into
PodSpelling issue in ProhibitUnusedPrivateSubroutines.
NamingConventions::Capitalization suddenly started failing for
Remove "All rights reserved" from my copyright notices.
Move P::C::PPIx::Utilities::Statement to the PPIx-Utilities
Changed violation description to "Quotes used with a string containing
Update P::C::Utils::is_unchecked_call() to include chmod in the set of
Put 1.106 changes to Changes on trunk.
Small typo in RequireFinalReturn POD. RT #57803
Change Modules::ProhibitEvilModules to complain about modules
Stop all conditional module usage under xt/. If you're an author,
Update the optional module discussion in CORE_DEVELOPER to match the
Remove scary warning from INSTALL.
Bump P::C version to 1.107_001.
Fix links to deprecated modules in Modules::ProhibitEvilModules.
Fix false statement in POD about ## no critic paying attention to
Update to TODO.pod about dumping IO::String.
Get rid of use_ok() everywhere except t/00_modules.t and
Theoretically fix the issue with compling P::C::Module::Build at
Move Email::Address from the optional to the required modules in the
Rename the --unsafe option to --allow-unsafe.
Small comment change in Subroutines::ProhibitAmpersandSigils and code
Add allow-unsafe to ProfilePrototype.
Set date for 1.107_001 release in Changes.
Add dependency upon Task::Weaken (even though I think PPI requires it)
Document Task::Weaken dependency.
Change "Repository" to "repository" in (MY)?META.yml.
Update Changes into something readable by users for the 1.108 release.
Fix CORE_DEVELOPER.pod now that the PodSummary build is fixed.
Bump P::C version to 1.108.
Add release description to Changes.
Add link to Try::Tiny in RequireCheckingReturnValueOfEval.
Change "[Severity #]" in the PolicySummary to "[Default severity #}".
Change the PolicySummary to use short names for link names.
Change example in P::C Developer to say "Default severity" instead of
Make Test::Deep required so that I can use it for P::C::Document
Create namespaces() and subdocuments_for_namespace() on
Forgot to add PPIx::Utilities::Node to required modules in
Create P::C::Document::uses_module().
Apply the patch from RT #58751 to ProhibitMismatchedOperators
Code cleanup of ProhibitMismatchedOperators after applying patch from
Make Test::P::C::Policy well behaved and not export anything by
Stupid just-prior-to-commit change to Test::P::C::Policy broke
Fix stupid bug in P::C::Document::_nodes_by_namespace().
Remove debugging code from P::C::Document.
Handle the absence of include statements in
Specify a minimum version of version.pm in BuildUtilities. RT #58952.
Move IPC::Open2 from the recommended to required dependencies since
Fix ValuesAndExpressions::RequireInterpolationOfMetachars with respect
Make PPIx::Regexp, Perl::Tidy, Pod::Spell, and Text::ParseWords
Note ValuesAndExpressions::RequireInterpolationOfMetachars fix in
Make xt/author/94_includes.t be more descriptive of what it's testing.
Fix missing import of PPIx::Regexp in Perl::Critic.
Add "subscripted" to xt/author/40_stop_words.
Add failing test for
Fix detection of q<'@whatever'> in
It turns out that the original complaint in RT #3077 for
Update Changes on trunk to match what was released in 1.109.
Bump trunk version of Perl-Critic to 1.110.
Reduce use of PPI overloads i
Add "when" support to ControlStructures::ProhibitPostfixControls.
Removed extra bullet in Changes.
Renamed "forced filename" to "filename override".
Make Policy tests that now pass as no-longer-TODO.
Bump PPIx::Utilities version requirement.
Trailing whitespace in t/NamingConventions/Capitalization.run.PL.
Test Const::Fast support in NamingConventions::Capitalization.
Change ValuesAndExpressions::ProhibitMagicNumbers test to not use
Officially bless Const::Fast.
Set the P::C version to 1.110_001. I still want to look through the
Fix ProhibitPostfixControls' handling of normal when statements.
Update Changes for 1.112_001.
Set P::C version to 1.112_001.
Make P::C::Module::Build a subclass of P::C::Module::Build::Standard.
Copyright year update in PPIx-Utilities and Perl-Critic.
More trailing whitespace.
Bump P::C version to v1.112_002.
Update Changes and bump version for P::C v1.113.
Add suggestion of using lc() instead of case-insensitive match to
Bump P::C version to 1.114.
Small POD fix in Documentation::RequirePodLinksIncludeText.
Ignoring META.json in main Perl-Critic distribution. Will need to be
Bump P::C version to 1.115.
Add META.json to Perl-Critic/Build.PL.
Alphabetize Policy entries in Changes.
Bump P::C to v1.116.
PodSpelling problem in BuiltinFunctions::ProhibitLvalueSubstr.
Add OpenSUSE to links page.
Guillaume Aubert (2):
Ignore /Build, not inc/Perl/Critic/Module/Build/.
Added missing file.
James Raspass (2):
Favour $elem->content eq 'foo' over $elem eq 'foo'
Add fc & say to ProhibitUselessTopic
Jeffrey Ryan Thalhammer (970):
Created top-level directories for Perl-Critic and Test-Perl-Critic.
Importing Perl-Critic-0.13.
Added svn keywords.
Set svn:keywords property on all files.
Fixed POD NAME section.
Added svn keywords.
Added svn keywords.
Added svn keywords.
Fixed NAME section in POD.
Added svn keywords.
Added svn keywords.
Fixed NAME section in POD.
Added svn keywords.
Added documentation stub for '-top N' feature.
Merged /t and /lib from Chris' branch (4dec63a..a093439) into the trunk.
* Finished adding svn keywords to all modules
Forgot to add perlcriticrc file. These are custom settings
* Finished adding severity method to all modules (was "priority").
Comitting files that didn't make it the last time around.
Merged t/ directory from Chris' branch (r 26:43)
Increased severity of StringyEval policy because I think it frequently
Um, I've lost track of what I was doing so I'm just committing
Added Chris' MANIFEST.SKIP file.
* Changed severity method to default_severity.
Added default_severity method. This method wasn't defined when I
Fixed typo.
Rewrote the severity methods. Instead of a single static method, we
Rewrote test cases to cope with new severity mechanism. I'm not yet
Moved some tests from 00_modules to 02_policy.
Now that Perl::Critic doesn't default to loading _all_ policies, we
Fixed the trust_me list to include default_severity(). IDEA: We
Removed the 'tested' hack that prevented Policies that apply to the
Implemented -top functionality. It doesn't actually work yet because
Brought over ProhibitAmbiguousNames policy from Chris' branch.
Rearranged some code. Just cosmetic stuff.
Added 'ProhibitAmbiguousNames' to the test configs.
Added 'ProhibitAmbiguousNames' to the native Policy list.
Removed unnecessary VERSION declaraion.
Increased version number to 0.13_01. This doesn't mean that the code
Updated MANIFEST, which was auto-generated by MakeMaker.
Added some test cases for 'ProhibitLeadingZeros'. I have seen a
Fixed test cases for 'ProhibitLeadingZeros.' It turns out that PPI
Improved regex for matching leading zeros so that it handles
Added documentation about the -namespace option. I'm really sure how
Documented -config option.
Siimplified test to see if the list has at least one element.
Added workaround when using the Perl::Tidy API (instead of
Fixed bug where punctuation variables cause an 'uninitialized' warning
I had reversed the logic to test if the code was actually tidy. This
Ran through perltidy, which moved a bunch of stuff around. Use
Added severity to the constructors arguments and defined severity() method.
Altered tests of Violation object to include mandatory 'severity' argument.
Added severity argument to all calls to Violation->new().
The -top option now implies that -severity == 1, so that you'll get
Forgot to add 'severity' argument to one Violation.
Fixed off-by one error in -top counting.
Changed sorter to match new severity() implementation.
Minor rephrasings.
get_severity() was calling default_severity() as static method instead
Fixed broken -verbose feature. Added 'Severity' info to some
Tweaking the -top feature to avoid indexing "out of bounds."
Touch ups.
Updated Changes file to reflect recent work and planned enhancements
Added configs for new Policy modules.
Added test cases for new Policies.
Set svn:keywords for properties.
Added RequireCircumfixDereferences policy
Set svn:keywords property.
Added documentation about severities
Added policies against 'no strict' and 'no warnings'.
Set svn:keywords property
Added new policies to native config.
Updated MANIFEST with new Policy modules.
Copied Chris' TODO list.
Added 'ProhibitAmpersandSigils' policy.
Added new 'ProhibitExcessComplexity' policy. This is an experimental
Updated MANIFEST with new Policies.
Refined 'ExcessComplexity' Policy. Added some documentation to
I had the description and explanation swapped.
Corrected PBP page reference.
Added some documentation.
I like to quote keywords, filenames and other coding literals in my
Added complexity test cases.
Added recursive behavior, so now you can just point perlcritic to a
Fixed false-positives created by bareword hash keys that happen to
Changed to 3-argument 'open' to be self-compliant.
Changed variable names like '$last' to '$final' to satisfy
Lowered severity level for criticism test script so that we catch more
Updated Changes and TODO with newest Policies.
Still fiddling with svn properties to get the permissions right.
Added new Policies to the documentation TOC.
Added default severities to the Policy listing. I'm wondering if
Tweaked behavior of -top option to give some more flexibility
Wrapped more of Perl::Tidy in 'eval' to avoid blowing up if it croaks.
Fixed 'no warnings' and 'no strict' policies. This turned out to be
Added test cases for 'ProhibitWarningsDisabling' and
Extended 'no critic' to cover the warnings that I disabled.
Renamed ProhibitCircumfixDereferences to ProhibitDoubleSigils.
Added documentation.
Added documentation.
Grammatical edits.
Documentation edits.
More POD edits.
More POD edits.
Modified some of the 'no strict' pragma tests to verify
Added 'criticize.t' to the MANIFEST.SKIP. These tests probably won't
Regenerated MANIFEST.
Moved some option-parsing code down into get_options().
Added "Severity" to the full-diagnostic format.
Added convenience code to "normalize" severity levels, in case people
Added test cases to verify _normalize_severity() function. I should
Set 'RequireExplicitPackage' to exempt scripts by default, since most
Edited POD.
Added 'exit' to postfix control exemptions.
Added 'exit' statement to ProhibitPostfixControls tests.
Added test script for perlcritic and modified perlcritic to not "run"
Renamed TestingAndDebugging policies to 'RequireUseStrict' and
Updated docs to reflect Policy name changes.
Updated manifest with new files.
Added pure PBP perlcriticrc file. This was requested by some folks
Regenerated manifest to include new perlcritic.pbp
Edited Changes file a bit.
Added warning about the renamed modules to the build scripts.
Added DEVELOPER.pod file. This document basically describes
Regenerated the MANIFEST.
Mentioned DEVELOPER.pod file in P::C documentation.
Added SVN keywords.
Changed behavior of -include and -exclude options to accommodate the
Merged in changes from my branch.
Tweaked argument processing so that if you give a file name as an
Renamed the pod test scripts to follow the _underscored_ naming
Minor documentation edits.
Increased $VERSION to 0.13_02
Fixed Config to work properly if the .perlcriticrc contains fully-qualified
Edited documentation.
Now displaying a "source OK" message for each file that doesn't
Commented out the TODO tests. These were being interpreted as
Increased VERSION to 0.13_03
Updated Change list.
Commented out another TODO test. I'm not sure why these
Moved DEVELOPER.pod file so it gets installed a little deeper in the
Increased VERSION to 0.13_04.
Fixed POD links to the DEVELOPER file.
Edited docs.
Increased VERSION to 0.13_05. Hopefully this will be the last
Fixed some documentation errors.
Now checking to make sure that files and directories
Renamed the pbp file to match the "perlcriticrc" convention.
Regenerated MANIFEST.
Spell-checked documentation for primary modules.
Updated copyright dates.
Fixing POD escapes in code snippets.
Put all references to "perlcritic" in C<> tags.
Just added a couple comments.
Regenerated README from latest P::C documentation.
Documentation edits.
Added blank line to warning message so it doesn't start
Minor documentation edits.
Narrowed the applies_to() list to just the Match and Substititue
Increased $VERSION to 0.14.
Added workaround for strange errors during POD coverage tests.
Added a couple more test cases using different delimiters in
Now getting VERSION directly from Perl::Critic module.
Updated change log with latest developments
Fixed typo in documentation.
Fixed typo in documentation.
Re-inserted the IMPORTANT CHANGES section to the documentation. I decided that this might be important to developers, especially if they do not read the CHANGES file.
Tweaked RequireEndWithOne policy so that it allows a whitespace in the
Enhanced code filtration so that you can attach the '##no critic'
Updated Changes.
Added 'criticism' pragma module.
Made criticism non-fatal.
Moved criticism.pm into separate distro.
Removed 'criticism.pm' from MANIFEST. Mentioned it in the docs.
Regenerated README files using pod2text. I had mistakenly used
Fixed corner case where fully qualified variable names
Fixed subroutine to comply with RequireFinalReturn policy.
Changed module abstracts to include the phrase "best practice." I'm
Moved regex back into module body to improve performance (slightly).
Optimized by moving more regexes.
Added support for regex configuration of EvilModules. I'm not too
Just adding a couple comments.
If a variable name is fully qualified (i.e. $Foo::Bar::baz) then it
Added test cases to verify that fully qualified variables
Rewrote SYNOPSIS section to look more like the typical Unix stuff.
Added tollerance for package variables declared with C<use vars> but
Fixed regex flags to satisfy perlcritic.
Removed dependency on Perl::Critic::Utils
Just trying to get the svn keywords to work
Increased PPI prerequisite to v1.110 now that the bugs have been fixed.
Regenerated META.yml
Fixed svn properties. I was using the wrong property names.
Just cleaning up some loose ends in preparation of making a release
Deleted svn:executable property from all modules.
Deleted svn:executables property on all test scripts.
Increased VERSION to 0.14_01
I found some cases in the wild where folks were declaring subroutines without blocks. Technically this is legal, but it failed the sanity checks in RequireFinalReturn. So now, we just overlook pure subroutine declarations that do not have a block.
Regenerated META.yml file using Module::Build
Now sorting the directory contents so we critique files in a
Added little feature to display all the policies and their severity
Spiffing up the policy listing format.
Mentioned gVIM plugin that now has support for perlcritic.
Fixed spelling errors, updated stopwords.
Rewrote policy_listing to be more functional so I can write test cases
Added a couple tests to verify _interpolates()
Added 'no critic' comments to some test scripts so they are more
RequirePodAtEnd now allows =for, =begin, and =end tags inline with code. This is so you can use them for block comments.
Fixed bug that introduced into RequirePodAtEnd when I decided to allow
Added "ppidump" which is a simple tool to show how PPI would parse an
Don't include tools/ directory in distro.
Added new ProhibitConditionalDeclarations policy. This policy
Fixed incorrect policy name it test cases
Fixed bug 17554: False positive in CodeLayout::RequireTrailingCommas
Added ProhibitTies and ProhibitFormats policies.
Added ProhibitReadlinInForLoop policy.
Smell test on the -verbose option wasn't looking for all the possible
Added precedence_of() function to help support the ProhibitParens
Improved ProhibitParens policy by making exceptions for common
Fixed a few bugs in the new code for ProhibitParens.
Small bug fix to protect against calling isa() on an undefined value.
Switched to using is_perl_global() and is_perl_builtin() utility
Making sure all the perlcriticrc files have a final newline.
Just adding a few tests for corner cases.
Preparing for development release to CPAN.
Increased VERSION to 0.14_02
Tweaked ProhibitParensWithBuiltins. Now we allow parens whenever the
Modified build files to display the warning message only if the user
Tightened up the 'criticize' test to be more critical,
Added new policy ValuesAndExpressions::ProhibitMixedBooleanOperators.
Added new policy Variables::RequireInitializationForLocalVars
Regenerated MANIFEST
Updated docs with new Policies.
Minor documentation edit.
Added new policy InputOutput::RequireBracedFileHandleWithPrint. This
Fixed bugs in RequireBracedFileHandleWithPrint (that's a mouthful).
Updated Changes & TODO files to reflect new policies.
Refactored some tests in 05_util.t so I could understand them a little
Tweaked RequireBracedFileHandleWithPrint to reduce false-positives.
Added test case for RT Bug: #15653. I think we might have to check if
Added test cases for is_subroutine_name() utility function.
Added is_subroutine_name() function.
Added call to is_subroutine_name() for every Policy that applies to
Added PHILOSOPHY section to documentation. Thanks Chris.
Added new policy ClassHierarchies::ProhibitAutoloading
Added new policy Documentation::RequirePodSections. It is not quite
I had the description and explanation variables switched.
Protecting from undef variables to prevent warnings.
Incremented VERSION to 0.15 in preparation for a production release.
Fixed documentation typo.
Documentation edits
Regenerated README. More documentation edits
Preparing Changes file for release
Fixed bug where we passed the $doc instead of the $elem to the
Fixed bug caused by odd behavior in Perl::Tidy (I think).
Tweaked the RequireTidyCode to cope with some of the weirdness in
Just small documentation corrections.
Corrected documentation. Thanks Chris.
Added warning message when the user's profile seems to contain
Switched from C<grep> to C<first> to clarify my intent.
Fixed bug in RequireInterpolationOfMetachars policy that caused
Increased version to 0.15_01 for next development release. Version
Changed call to List::MoreUtils::any(). For some reason, any() won't
Skipped tests that were not passing on my perl at work (5.6.1).
Added a few items to the TODO list.
Updated Changes log with latest bug fixes.
Added a new feature that lets you control exactly which policies are
Removed extraneous library dependency
Documentation edits
Spruced up new "## no critic Policy::Blah" feature by letting you use
Updated paperwork
Tweaked new 'no critic' code. I removed some of the warnings, to make
Refactored 'perlcritic' into smaller subroutines. I'll try and write
Fixed spelling error.
Updated change log.
Regenerated MANIFEST, README, and META files.
Fixed up self-compliance issues.
Switched to criticizing files in blib/ (which is the default) instead
Fixed broken behavior when --profile is specified as an empty string.
Removed some superfluous code. Edited documentation on new
After Chris demonstrated the need to test whether the violation is on
Fixed typo in one of the -verbose formats.
Moved the -top feature down into Perl::Critic library to give the API
Increased VERSION to 0.15_02
I noticed that perlcritic was still printing 'source OK' even when PPI
Fixed the no-critic comments to allow the disabling of just the subroutine name. This is necessary if you have an API that requires you to declare a subroutine with the same name as a builtin function.
Moved subroutines for finding perl files into Perl::Critic::Utils
Added workaround for perls that don't seem to do overloading properly.
Increased VERSION to 0.15_03.
Added a few more ideas to the TODO list
Changed the ##no critic implementation to _not_ eval the code.
Added ProhibitUnreachableCode policy. This was written by one of my coworkers
Rewrote part of ProhibitUnreachableCode because it was hitting
Removed redundant documentation section
Added some new details about the C<cmp> hack.
Cleaning up code to be self-compliant
Corrected page number in PBP citation
Added new policy ProhibitAutomaticExportation. I still need to write tests for this
Adjusted tests to keep the build clean. But I still need to write tests for the new policies
Added ##no critic to pass our own criticize.t tests
Wrote test cases for new ProhibitAutomaticExportation policy.
Added documentation on new policy.
Added some non-PBP ideas to the TODO list
Added new policy ProhibitVersionStrings
Set svnprops on new files
Enhanced the critique() function to take a PPI::Document as the
Preparing for next production release:
Documentation edits
Documentation edits
More documentation edits.
Enhanced the "##no critic" parser to support a more flexible and more
Documentation edits
Preparing for production release
Added fake test failure, just to see if my continuous integration
Removed fake test
Fixed typo in no-critic rgex
Increased VERSION to 0.17
Added functional interface to the critique() method in Perl::Critic.
Removed completed items from TODO
Added no-critic comments so we pass our own perlcritic tests. Technically, the code is PBP compliant, but there is a bug in PPI that causes our C<sort> blocks to appear non-compliant.
Regenerated META and README files for v0.17 release. Added some
Squashed subtle bug in RequireSimpleSortBlock
Documentation edits.
More documentation edits
Sprinkled in a couple tests. Test coverage is now at 92.9%.
Fixed bug in RequireUseString & RequireUseWarnings. Both Policies
Documentation edits
Optionally use File::HomeDir to locate the perlcriticrc file. If
Fixed bug #20254: http://rt.cpan.org/Ticket/Display.html?id=20254
Updated Changes file.
Increased VERSION to 0.18. Hopefully, this will be the last release before going to 1.0. Also mentioned http://perlcritic.com in the docs.
Added perlcritic minor-mode for emacs. Contributed by Josh ben Jore.
Moved t/tlib/PerlCriticTestUtils.pm to lib/Perl/Critic/TestUtils.pm.
Added some docs to TestUtils. I'll finish them later.
Added 'until' and 'while' to the McCabe score, since they both create
Mentioned Joshs perlcritic mode in docs
After I installed Perl::Critic::Bangs, 03_pragmas.t started emitting
Regenerated MANIFEST and updated Changes log
Added workaround for PPI bug that manifested in ProhibitLeadingZeros.
Removed executable property on module.
Updated changes
Removed svn:executable property
Substituted string with named constant
Regenerated README
Cleaned up TODO list, added stopwords for spell test.
Removed svn:executable property from module
Added a few more stopwords
More stopwords
Small optimization to Perl::Critic engine. This reduces the number of
Refactored the caching find() method into a closure. I found this to
Added SVN headers.
Edited TODO. Added one new policy idea
* Increased VERSION to 0.18_01
Fixed RT bug https://rt.cpan.org/Ticket/Display.html?id=20659
Fixed test plan
Added new policy 'ErrorHandling::RequireCarping', but some reason, it
Ok, fixed the new policy. Damn syntax error
Tweaks for self compliance. I've gotten use to the stack traces that
I forgot to add my test script. Also regenerated MANIFEST
Fixed spelling errors
Preparing for release
Added new policy: Variables::RequireLexicalLoopIterators.
Added new policy: ControlStructures::ProhibitDeepNests. We are not
Fixed ProhibitDeepNests to properly count parents, instead of
Added new policy BuiltinFunctions::ProhibitStringySplit.
Fixed bug #20965: "Hard tabs used at" shouldn't check __DATA__.
Updated change log.
Added -quiet option to perlcritic
Combined is_hash_key, is_method_call, and is_subroutine_name into a
Andy and I had both implemented the -quiet feature. Amazingly, it
Switched to using is_function_call in all Policies.
Moved the violation %FORMATS into a static method in P::C::Utils. But
Tidied up the Changes file.
Switched to using "cluck" instead of "warn". I like the stack trace.
Cleaning up TODO: removed completed items, added a couple new ideas.
Bumped $VERSION to 0.19. Removed all the "eval $VERSION" statements
Mention bug #21070 in Chages file
ProhibitDeepNests policy requires PPI vesrion 1.115, which includes a
Preparing for release
Fixed spelling errors
Improved test coverage on P::C::Document
Woo-hoo! Another module hits 100% coverage!
Allowing two-argument "open" when redirecting one of the STD handles,
Allow Unix die-hards to read from STDIN by saying "perlcritic -"
When using the "##no critic" pragmas to disable policies, the parens
ProhibitUnreachableCode now allows compile-time statements (like
Additional comments
Tried to fix http://rt.cpan.org/Public/Bug/Display.html?id=21079
Fixed bug: http://rt.cpan.org/Public/Bug/Display.html?id=21365
Increased VERSION to 0.20.
Now depends on PPI version 1.117, which fixes some bugs that were
Removed workaround for goto statements, now that the bug has been
Updated Changes file for 0.20 release.
svn merge -r 665:709 branches/jeff/Perl-Critic/ trunk/Perl-Critic/
Regenerated MANIFEST
Added documentation stubs for several of the new Perl::Critic::Config
Updated change log
Renamed "File::RequireFilenameMatchesPackage"
Added alternative prototype for the theme parsing engine. This uses
WARNING: Massive commit!
Regenerated MANIFEST and META
Beautified several modules and test scripts.
The NAMESPACE to load Policies from is no longer mutable
Documentation edits
More remodeling...
ThemeManager is now functional. But I don't like
Assigned themes for more policies.
This is my first attempt to document the new behavior of the policy
Renamed ThemeManager -> Theme. With that name, the API
Tweaking the Theme class. Several tests are broken
criticize.t will now be shipped in the Perl::Critic distro.
Woo-hoo! All tests pass
More documentation
Updated Changes log
* Tried to nail down the interaction between the user-defined
Removed ThemeMath.pm and 09_thememath.t
Assigned more themes
Assigned more themes
Assigned more themes
Removed Test::Perl::Critic from the recommended dependencies to avoid
Fixed corner case in Theme.pm
Fixed spelling errors
Documented helper classes
Minor refactoring of Critic.pm. I should probably convert
Fixed some self-compliance issues
Fixed thinko
Documentation edits
Added filename() method to P::C::Violation. I'm not sure it will work
I tried to push more of the formatting code into P::C::Violation.
Mention EPIC under EDITOR INTEGRATION
Default verbose is now 4
Avoid uninitialized warnings from P::C::Theme
Fixed tests that started failing due to new -verbose format
Rewrote config.t so that we no longer need to update the perlcriticrc
Removed mention of the sample perlcriticrc files from the docs. I'll
Documentation edits
Mention command-line interface to http://perlcritic.com in docs
Added 2 policies contributed by Peter Guzis. Tests will follow.
Updated changelog
Set svn:keywords on new Policies
Added Peters tests for new policies. Need to review these
Added $expl to ProhibitUnusedLexicalVars
Added failing test. ProhibitUnusedLexicalVars needs some work
Added new policies:
Added some failing tests for new policies
Resolved failing test cases for VoidGrep and VoidMap
Updated TODO
Prevent 'not numeric' warnings
Couple more test cases
Added DESCRIPTION to new policies
Cleaning up ProhibitUnusedLexicalVars policy
Cleaning up ProhibitUnusedLexicalVars policy
Cleaning up ProhibitUnusedLexicalVars policy
Cleaning up ProhibitUnusedLexicalVars
Cleaning up ProhibitUnusedLexicalVars
Removed ProhibitUnusedLexicalVars policy. As I started to think about
Cleaning up ProhibitMismatchedOperators
Documentation edits
Fixed paste-o in policy summary
Regenerated META and MANIFEST
Regenerated README
Updated INSTALL docs
POD edits
Wrote general-purpose .perlcriticrc example
Moved samples -> examples
Updated POD. New MANIFEST and META
Added disclaimer that the policy themes are experimental. In
Preparing for release
Fixed POD
Changed add_theme() to add_themes() in documentation
Changed set_theme() to set_themes() in documentation
Support non-plural names for add_themes and set_themes config parameters.
Added missing assignment operators, plus defined-or (//)
Fixed pragma tests that were failing due to new policies
Moved the policy listing feature into a seprate class.
Stubbed out documentation for PolicyListing.pm
Mention long policy listing in docs. Tried to fit more POD into 80 columns
Increased VERSION to 0.22
Fixed #22890: allow Rcs keywords in POD.
Changed the exception rules in ProhibitParensWithBuiltins. Parens are
Updated Changes log
Added basic tests for PolicyListing.pm
Set svn:keywords
Fixed manged SVN keyword
Fixed mangled SVN keyword, again
Added some test cases for PolicyListing. Some are failing because we
Mention BBEdit integration in POD
Filling in PolicyListing documentation
Normalizing my regex delimiters
Added set_format() and get_format() methods to Policy.pm. These
Assigned themes to remaining policies, so now, all tests should pass
Use -test switch to avoid errors with 3rd-party policies
Refactored ProhibitMutatingListFunctions because the complexity score
Added TODO test for pre-incrementing form of ++ and --
Removed a couple extra conditionals.
Documented Theme.pm
Fixed spelling errors
Added -doc option to perlcritic. This is an convenience method for
Moved ProhibitMagicNumbers.pm into the Perl-Critic-More distro. When
Updated Changes log
Put severity setting in the perlcriticrc file
Moved some policy tests into a separate test script. This is a
Added TODO items for run.t
Added hack to prevent RequireUseStrict and RequireUseWarnings from
Only comment and whitespace changes in this commit. I set all the
Moved 20_policies_namingconventions.t into new test format.
Fixed self-compliance violations
Fixed failing test. I think this might have just been a typo during
Migrated more of t/20_policies_modules.t
Changed version to 0.21_01
Getting ready for release
Regenerated README
Regenerated META.yml
Silly hack so CPAN will recognize this as a DEV version
Renamed run.t to 20_policies.t. Yes, I like the numbered test files.
Added a todo item under REFACTORINGS.
Fixed failing test that emerged when I rolled back to
Next VERSION will be 0.22
Removed the critiquekwalitee example. When we have a more concise
Regenerated MANIFEST
Added SVN headers, and file variables in a couple places.
Introduced named severity values. I took the names from criticism.pm.
Synching up documentation between perlcritic and Perl::Critic
Reassigning themes to fit my new-world-order
Updated documentation on themes
Fixed Elliot's failing test case where a theme expression had more
Rephrased to avoid tripping RequireCarping
Updated developer instructions
Documentation edits
Added File variables in a few places
More documentation edits
Fixed spelling errors
Regenerated README
Added some TODO ideas
svn merge -1cb82fc..92ae0d5 branches/Perl-Critic-With-Param-Validation trunk/Perl-Critic
Added a couple more tests for Perl::Critic::Policy class
Just a little cleanup, mostly to documentation
Removed TODO tag from test that seems to be passing now. I'm not sure when
Now that the problem has been fixed in PPI 1.118, I have removed
Changed exit status to 0 when using -list and -profileproto options
Use single-dash options in all examples, for consistency.
Prepare for release
Fixed RT #23994 by adding UNITCHECK function.
Mention Scott Peshak's vim plugin in POD.
Now using B::Keywords directly in Perl::Critic::Utils.
Fix self-compliance problems
Added TODO idea
Changed format of error message when the profile has syntax errors.
Improved RequireFinalReturn to catch situations when the final return
Increased VERSION to 1.00
Fresh TODO item
Extended copyright to 2007
Fixed 93_version.t failures
Renamed policy_parameters() to supported_parameters()
Documentation edits
* Code cleanup in Perl::Critic::Config::_init()
* Rewrote Perl::Critic::Theme. Instead of mapping themes into a bunch
Added '%F' format token. Suggested by Nadim Khemir.
Removing ProhibitEvilModules.run. I plan to put
Moved 20_policy_prohibitevilmodules to
Syntax errors in configuration are now fatal.
Finished moving tests for ProhibitEvilModules into the *.run format.
Regenerated MANIFEST and META
Removing RequireFilenameMatchesPackage.run. I plan to replace this
Finished moving 20_policy_requirefilenamematchespackage.t
Regenerated META and MANIFEST
Just a little cleanup
Fixed https://rt.cpan.org/Ticket/Display.html?id=24005
Cody tidy
A little more code cleanup.
Use string() method to strip the quotes. This makes the regexes a
Dropped support for dashed option names in the .perlcriticrc file
Removed completed items from TODO list
Simplified documentation on themes. I'm still not completely happy
Fixed self-compliance problem
Recharcterized the theme "model" as a "rule." It makes more sense to
Added validation of policy names in the .perlcriticrc file. As a
Added test cases for policy validation warnings.
Pushed VERSION back to 0.23. Once this bakes on CPAN,
Preparing for release
Fixed VERSION
Moved t/examples/ to examples/ to satisfy Kwalitee requirement
More documentation edits
Minor code cleanup
Increased VERSION to 1.01. By making it 1.01 instead of 1.00, I don't
Regenerate MANIFEST and META
Documentation edits.
Regenerated README
Mention that the P::C team is available for hire
Fixed spelling errors
Fixed memory leak. See comments for details.
Better fix for memory leak, suggested by Chris.
Added optional memory_leak test
Fixed places that were misusing the -test flag for the PolicyFactory.
Removed redundant inclusion of Test::Memory::Cycle
Preparing for release
Regenerated README
Workaround for problems using List::MoreUtils on perl 5.6.1
Increased VERSION to 1.02
Documentation edits and a little code-tidying.
Fixed SVN keywords
Set svn:keywords property
Added Conways config file
Mention Conways config in the docs.
Mention Conways config in the docs.
Added more test cases for CheckedOpen and CheckedClose. Some of them fail at the moment
Updated Change log
Fixed is_unchecked_call to handle ||
Regenerated README
Fixed spelling errors
Fixed self-compliance problem
Fixed more problems with the format strings (Reported by Fritz Mehner).
Increased VERSION to 1.03
Fixed typo. Thanks Chris
Modules::RequireExplicitPackage is a noisy policy because it reports
Fixed self-compliance failures
Updated Change log
Cleaning up a few problems from the conversion to EXPORT_TAGS
I had already fixed that
Updated Change log. Regenerated README
Made RequireFinalReturn configurable
Added test cases for http://rt.cpan.org/Public/Bug/Display.html?id=25085
Fixed RT #25085: http://rt.cpan.org/Public/Bug/Display.html?id=25085
Added some tests inspired by http://rt.cpan.org/Ticket/Display.html?id=25150.
Added TODO item, inspired by: http://rt.cpan.org/Ticket/Display.html?id=25046
Add test cases to cover RT bugs #25449, #18423
Workaround to deal with false-positive from
Increased VERSION to 1.04.
Updated Change log
We only test for the correct number of violations, therefore we must
Fixed: http://rt.cpan.org/Ticket/Display.html?id=25557
Increased VERSION to 1.05
Introduced is_perl_bareword() utility function. This is to help the
Modified is_method_call() so it can be used to detect barewords on
Decided that my last modification to is_method_call was a bad idea.
Added is_perl_filehandle function to the Utils. This
Modified error handling to make it easier to track down
Added is_label_pointer method, to distinguish the "LOOP" bareword
Added copy of BBEdit plugin by Josh Clark
Increased VERSION to 1.06
Updated CHANGE log
Add documentation about integrating perlcritic with Komodo.
Regenerate MANIFEST and META
Added svn keywords
Fixed misspelled svn keyword
Reduced VERSION to 1.051. This will be an beta release
Marking failing test that was added in r1361 as TODO. This was
Decided to release to CPAN now
Tweak to P:C::Utils::is_class_name to filter out chained method calls, such as:
Test case for RT #27073
Fixed RT #27073
Fixed POD typos, as reported in RT #26462
Tweak is_hash_key to return false when the key will be
Fixed error in documentation
Added basic test suite for Perl::Critic::Statistics
Fixed svn properties
Renamed some of the Statistics methods.
Redesigned the Statistics class. Now it is just an attribute
Increased VERSION to 1.052
Corrected PBP page numbers for a copule policies.
Added workaround for RT #27065. There might be an alternative
Added test case for PPI bug.
Finalizing change log
Fixed failing statistics test. It appears that I miscounted
Regenerated META using new YAML library
My suspicions were correct! The number of violations
Removed B::Keywords from the build_recommends list,
Increased VERSION to 1.053.
Added failing test case to cover RT# 27637.
Cleaned up the code in ProhibitMixedBooleanOperators, but I wasn't
Increased VERSION to 1.06. This will be our YAPC-NA 2007 release.
perlcritic now dies if no policies are selected.
Block the .perlcriticrc during 00_modules.t.
Update Changes log with final release date
Fixed typo in documentation, reported as...
perlcritic wasn't letting you use the %P placeholder in the verbose format specification.
Per request from David Golden, allow "local" to be used in conditional statements.
Fixed misplaced stopwords list
Use the "core" theme to disable non-native policies
Remove 97_spelling.t from MANIFEST, now that it has been
Added test cases and fixed RT #31281 concerning
Added failing test case for RT #30388. I'm not sure how
Updated Changes log with latest bug fixes
I didn't like all the "\$foo" in the templates for the run files, so I
svn merge -r 2029:2018 ProhibitNegativeExpressionsInUnlessAndUntilConditions.run.PL
According to https://rt.cpan.org/Ticket/Display.html?id=31972,
Added "criticim-fatal" switch, which will make the criticism
Fixed typo in the code for setting the criticism-fatal option. Damn I hate
is_script() now tries to check if the filename ends in ".PL".
Subroutines::ProhibitBuiltinHomonyms now covers Perl keywords
Additional stopwords for the code examples.
RT #34713. Tweaked Subroutines::ProtectPrivateVars
Added my first new policy in a very long time. So I might be a bit
Diddling svn:ignore.
ProhibitQuotedWordLists does not apply to lists
CodeLayout::ProhibitQuotedWordLists also now applies to the
Fixed spelling error. RT #37899
Describe policy for enforcing correct spelling of variable names.
Added failing test case that came to me in the mail today.
Undoing r2675. Now that the "-color" is no longer being set in _parse_command_line(), we no longer need to worry about double dashes in the keys of the argument hash for P::C->new(). Default values for the command-line options should only be defined in the OptionsProcessor.
I started using Eclipse for all my Perl work. So I am checking in the Eclipse project files for each distro. I am not really sure if these should be in the repository or not
Adding username for anonymous checkout from our repository.
Color for high-severity violations is now magenta,
Taking premptive steps: adding my forthcoming build.xml to MANIFEST.SKIP
Added a build.xml script to all distributions. Tools like Eclipse and Intelli-J
Dealing with more Eclipse files
Adding an EPIC config file
Enhanced the -doc feature to take advantage of the
Fixed ProhibitHardTabs so that it would allow leading tabs
Finally decided to move RequireConstantOnLeftSideOfEquality to
Moving the test case for RequireConstantOnLeftSideOfEquality too.
Updated changes to reflect relocation of Policy.
Update TODO list.
I think I've finally fixed the problem of false-positives coming from leading tabs inside qw() statements and regexes.
Update Changes file with latest bug fix.
Further cleanup after moving that policy to P-C-More.
Marked some failing tests as TODO, so I can go ahead with release. Will fix these later.
Undoing the patch for Schwern's capitalization policy.
Cleaning up my trailing whitespace. Damn Eclipse. I guess nobody is perfect.
Bumped VERSION to 1.091
Adding back in Schwern's Capitalization policy.
Some tweaks to my Ant build script. Since I use macports, much of my stuff is installed in /opt/local/bin. So I need that to be in the path for things like aspell and cover, which are needed during some of the build steps.
Fixing errors in POD that were exposed in the last
There were POD errors in the release that I just made,
Bumped VERSION to 1.092.
Updated docs about EPIC
Created a new Policy to prohibit an unrestricted ## no critic.
Add can_be_disabled() to the trusted method list
Self-compliance with ProhibitUnrestrictedNoCritic
Some failing test cases for ProhibitUnrestrictedNoCritic.
Resolved failing test cases for Miscellanea::ProhibitUnrestrictedNoCritic. Next, I'll remove the can_be_disabled() method.
Vanquised can_be_disabled() method.
Woops, I left a naked subroutine out there.
Self-compliance with ProhibitUnrestrictedNoCritic
Turn off Capitalization policy for now. It is making too much noise
More self-compliance.
Just comment formatting changes.
Pulled all the 'no critic' handling code out of Critic.pm
Fixed breakage that started when the names of some
Fixed up self-compliance issues in NamingConventions::Capitalization.
Get rid of that Debian-whatever file. I think it
More self compliance
Fixed more self-compliance
Incorporating some of Chris' suggestions.
First attempt to warn users when they have an unecessary "## no critic"
Cleaned up trailing whitespace. Fixed typo in name of hash key
Explain new option in Changes file
Second attempt to provide warnings when a useless "## no critic"
Fixed trailing whitespace and pod spelling
A little more tweaking. Should probably write some unit tests here.
Holy smokes, it works!
Offering a new Perl::Critic::Annotation class for review.
I think Schwern mention the double periods appearing at the
Add another cruft file to the SKIP list
commit 2d20fb327038154f10dc15d1a78ea65ab6076720
Do the period chomping right
Committing the rest of my work on refactoring the handling of the
Renaming test scripts for readability, as Elliot had done for some of the others.
Re-characterizing the "## no critic" comments/pragmas as "annotations" throughout the code and documentation.
Added idea about refactoring F<perlcritic> to the TODO list.
Can scratch one item off the todo list...
Now that we have ProhibitUselessNoCritic, we can
Added new policy: ProhibitReturnSort, as suggested by Ulrich Wisser.
Add a little explanation about the way we've mishandled
Adding a few stopwords
Spelling fixes and stopwords.
Always put parens on method calls.
Added workaround for apparent PPI bug. I reported it here:
Corrected references to the Regexp::Common module.
Added a couple thoughts to the TODO list.
Bug fix for RT #42310. These policies could
Remove superfluous "## no critic" annotations, now
Added two new Policies with similar gist:
Consolidated the ProhibitExit policies into a single Policy.
Whitespace changes only: rearranged the
Add filetest operators to precedence_of() function,
There seemed to be some confusion over RT #24973,
Added a couple stop words so that authortests will pass.
Clean up build.xml a bit. Fixed name of authortest target
Added a new TODO item
Just killing some time
Rewrote the benchmark tool to resemble the way perlcritic is actually used.
Mention the Perl-Critic GUI from ActiveState
Moving the ProhibitExit policy off trunk, so we can make a release.
Remove unneeded annotations, now that the ProhibitExit policy has
Add a few stop words, so we pass the authortests.
Preparing for a release this Sunday.
Don't run RequireTidyCode and PodSpelling when
Removed import list for PPI::Token::Magic. It doesn't
The -list, -version, -doc, and other special command-line switches
Correcting more subroutine names that appear to be
Test commit, to see if the e-mail from tigris
Yup, the email works
Added support for the -unsafe switch. This is to protect
Woops. I forgot to correct the test count.
Update VERSION numbers on files that were created on trunk
Added test case for RT #50910. It appears that we already handle
Changed literal POD fragments so they appear like POD, rather
Renamed POD -> Pod, to be consistent with the naming
Bumped VERSION to 1.105_001. Getting ready to make development release.
Add banner to Changes file, proclaiming this is a developer release.
Extend all copyrights by one more year.
Vanquishing Regexp::Parser, thanks to Tom! Woot!
Re-jiggered 20_policy_require_interpolation_of_metachars.t
Fixed RT #53219 (perldoc has broken link for McCabe score definition)
Woops, found one more reference to that missing page on cyclomaic complexity
No longer generating the PolicySummary when running the "test" action.
Bumped version number. Going to make another dev release
Repeat "Deveopment Release" banner.
Dropping the instructions for integrating with older versions of Komodo,
I noticed that Josh Clark has released an updated version of his
Email::Address is now just a required dependency. This ensures that everyone gets
Bumped version number to 1.105_03.
Don't generate test file for 20_policy_require_interpolation_of_metachars.t.
'warnings' pragma was declared as dependency twice.
Added -forced-filename option to the P::C::Document contstructor.
Mention the -forced-filename option in Changes.
Make note of command used to generate POD for perlcritic.com site.
Update instructions on generating docs for perlcritic.com site.
We need to use Test::POD version 1.41 or newer, because older
New Policy: ProhibitAugmentedAssignmentInDeclaration
Since we imported the firstval function, we might as well use the imported symbol.
Fix self-compliance problems in new Policy.
Turn on svn:keywords
Bumped version number
Prepare change log for release.
Fix typo (thanks, petdance)
MANIFEST is now stashed in the repository.
perlcritic-gui now ships with ActivePerl, not PDK.
Bump version number
Note VERSION and release date in change log.
RT #77977 requires us to upgrade to Perl::Tidy version 20120619.
Actually, it seems like we don't need the newer Perl::Tidy.
Unmark test as TODO.
Moving RequireRcsKeywords into the Perl-Critic-More distribution.
Fix some failing tests, following removal of RequireRcsKeywords.
Prevent warning about RequireRcsKeyword policy being missing.
A little commentary to remind me how the -test option works.
ARRGH! RestrictLongStrings is not a core Policy, so I can't
Adjust expected stats, now that RequireVcsKeywords is gone.
Edit comments and white space. Also workaround RT #78182.
Note to self about the purpose of the 41_criticize-policies.t test.
Need to load extra RequireRcsKeywords policy for self-compliance tests.
Regnerated MANIFEST.
Correct release date (I got distracted).
Applied patch from RT #75300.
Updated changelog w/r/t RT #75300.
Merge pull request #1 from guillaumeaubert/fix_gitignore
Merge pull request #2 from guillaumeaubert/add_missing_file
Merge branch 'cert-themes' of github.com:kimmel/Perl-Critic into kimmel-cert-themes
Regenerate MANIFEST.
Fix test to accommodate changes in Config::Tiny
Require Test::Kwalitee 1.15 or newer.
Regenerate MANIFEST, after removing dzil leftovers.
Create directories for generated tests.
Sync up with SVN.
Update dist META to point to our new GitHub repo location.
Update change log, in preparation of next release.
Point the rest of the META at our GitHub repo.
Bump VERSION from 1.118 to 1.120_01
Use META-Spec v1.4 resource attributes
Merge pull request #18 from neilbowers/master
Update change log, preparing for release today.
Update address for bug tracker in the POD.
Bump VERSION to 1.121.
Set default theme and severity for new ProhibitUselessTopic policy.
Add emacs/vim stuff to new policy files.
Add x_authority to META, so new packages are owned by CRITICRE
Trim extra newlines at the end of the profile prototype.
Apply patch from RT 77693 / GH #556
Mention changes to perlcritic.el in the change log (for #556).
Remove workaround for PPI parsing bug on &&= and ||=
Add test cases to cover issues arising from PPI 1.216_01
Remove workaround not needed with PPI 1.216_01 or later.
Resolve failing tests, brought on by PPI 1.216_01.
Add is_assignment_operator utility function.
Add //= as a high-precedence boolean operator.
Use is_assignment_operator utility function.
Erradicate the RcsKeywords policy from our self-compliance tests.
Merge branch 'master' into dev
Require PPI-1.218...
Upgrade to Readonly-2.00
Remove reference to deprecated RcsKeyword policy.
Remove workaround for Readonly::XS loading.
Fixe self-compliance.
Bump VERSION to 1.122
Fix POD syntax error.
Fix self-compliance.
Update change log.
Fix POD and spelling errors.
All recommended/optional dependencies are now required.
Regen MANIFEST.
Merge pull request #567 from moregan/assignment_operators_touchup
Add test case for GH #455.
Add tests to cover false positives reported in GH #600.
Added test case to cover GH #496.
Add test case to cover GH #451.
Remove TODO marker from test. Code fixed in PPI.
I think this was a typo in the test case.
Add test case to cover GH #192.
Add failing test case to cover GH #496
Require newer PPI and note it in the change log.
Bump VERSION to 1.123.
Remove janky old tools.
Don't mention Makefile.PL in the INSTALL guide.
Get rid of defunct Ant builder.
Update MANIFESTS, following file removal.
Revise developer instructions, now that EU::MM is not supported at all.
Experiment with a Travis build config.
This seems like a more sane Travis build.
Self-compliance.
Exclude symlinked files from MANIFEST.
Add the yada-yada operator as a terminal function (Fixes #574).
Add failing test cases to cover issue #612.
Ignore version number when processing autodie arguments. Fixes #612
Use our POD for the README.
Create some constants for equivalent modules.
Slightly better test names.
Use the EQUIVALENT_MODULES constants instead of hard-coded lists.
Add Mo and Mouse to equivalent module lists.
Self compliance.
Merge pull request #619 from oalders/master
Merge pull request #624 from 2shortplanks/master
Add the yada-yada operator as a terminal function (Fixes #574).
Add failing test cases to cover issue #612.
Ignore version number when processing autodie arguments. Fixes #612
Use our POD for the README.
Wordsmithing description of configuration parameter.
Mention additional strict/warnings-equivalent modules in change log.
Merge branch 'dev'
Bump VERSION to 1.124.
Use List::MoreUtils::any() instead of List::Utils::any().
Throw away Eclipse config files I haven't used in years.
Remove mentions of PPM repositories that dont' exist any more.
Remove mention of perlcritic.com API, which doesn't exist any more.
Re-wrap POD paragraphs at 80 columns.
Disable RequirePodLinksIncludeText policy during self-compliance tests. I never cared for it.
POD edits.
Re-wrap POD paragraphs and edit links.
More POD editing.
Regnerate README from pod.
Mention recent changes in change log.
Bump $VERSION to 1.125.
Merge pull request #642 from 1nickt/master
Merge pull request #643 from Grinnz/add_strictwarnings_modules
Merge pull request #630 from zdm/master
Merge pull request #605 from sergeyromanov/patch-1
Merge pull request #644 from oalders/strict-equivalent-modules
Fix spelling errors in POD.
Merge branch 'issue609' of https://github.com/bentglasstube/Perl-Critic into bentglasstube-issue609
Merge branch 'bentglasstube-issue609'
Update VERSION in ProhibitYaddaOperator to match latest.
Merge pull request #649 from JRaspass/master
Merge pull request #638 from ratsbane/master
Merge pull request #650 from JRaspass/more-useless-topic
Merge pull request #640 from hjkatz/master
Merge pull request #571 from MartinMcGrath/master
Merge branch 'dev'
Running the author tests on Travis requires installing Test::Perl::Critic.
Update change log to reflect latest contributions.
More modules needed to run author tests on Travis.
Self-compliance.
Add stopwords to new policy.
Ask travis to make our build in a container.
Test::Memory::Cycle won't install on travis.
Test::Kwalitee doesn't work on travis either.
Bump $VERSION to 1.126.
You must now use "addons" to install OS packages on Travis.
More self-compliance.
Forgot to change the $VERSION in perlcritic itself.
Gotta install the dictionaries too.
Josh ben Jore (27):
0.05
0.06
0.07
Add two failing tests. Both demonstrate places where P::C is incorrectly
Spelling.
Added zombie avoiding code. The old code always(?) left zombie processes.
exists(&foo), defined(&foo), \&foo aren't ampersand-using function
\&foo, defined(&foo), exists(&foo) don't violate this policy.
Package declarations aren't attempts to access private things elsewhere.
The following aren't warnings anymore.
The following aren't warnings anymore.
Use multiple RCS keyword sets to support multiple styles and systems:
Amended the RCS test to account for the Revision/HeadURL/Date keyword
Handle non-objects in is_builtin_function
Test for builtins w/ B::Keywords
Use B::Keywords to get a more complete list of builtins and variables.
Use B::Keywords.
"print $foo\n or die" was being read incorrectly. Test for it.
Fixed perlcritic-compilation-error-regexp-alist for all severity levels.
It must be possible to disable this policy.
Don't require three-arg open when three-arg open is impossible.
Scripts can use command line parameters -w and -W on the shebang to enable warnings.
;; 0.09
Added a note to maintainers to keep the format regular expressions in extras/perlcritic.el in sync.
Synched up regexp alist with Perl::Critic::Utils and accounted for all past patterns too.
Update URL.
Created minor mode for compilation buffer
Kirk Kimmel (1):
Created two new themes certrec and certrule
Kyle Hasselbacher (23):
Remove the 'no critic' line from t/05_utils_pod.t. I get fewer
t/05_util.t was using File::Temp::tempfile without cleaning up after
File::Temp->new() will already croak if there's an error.
A pipe does not denote alternation in a character class.
Add change to the Changes file.
This is a TODO test that shows the bug described in RT #38942.
Test that shows the bug.
Apply patch from Kevin Ryde.
Added a little label for clarity.
Update the changes file.
This should fix RT #42537. I've changed the documentation to refer to
Update the Changes file after RT #42537
TODO tests for RT #25046
"Break long assignments before the assignment operator."
This fixes RT #25046. $ppi_token_quote->string() will end with
Consistently wrap method names in code style in DEVELOPER.pod.
A few other details I noticced while reading DEVELOPER.pod.
Ran a spelling checker on TODO.pod because I saw RT #24973.
This adds the new policy,
A few more of the "pipe used for alternation in character class"
Add a TODO test based on RT #33935
Added a note to ProhibitJoinedReadline as suggested by RT #35118.
Added a ## no critic to silence a test failure.
Mark Fowler (10):
skip_when_using option for Subroutines::ProhibitUnusedPrivateSubroutines
updated changes to reflect skip_when_using option for Subroutines::ProhibitUnusedPrivateSubroutines
use Perl::Critic::Document::uses_module(...) to look for modules
add BUGS re policy working at a file not package level
change Classes to Modules in documentation
skip_when_using option for Subroutines::ProhibitUnusedPrivateSubroutines
updated changes to reflect skip_when_using option for Subroutines::ProhibitUnusedPrivateSubroutines
use Perl::Critic::Document::uses_module(...) to look for modules
add BUGS re policy working at a file not package level
change Classes to Modules in documentation
Mark Grimes (2):
Fix for rt39601 - Subroutines::RequireArgUnpacking false positive in foreach
Minor change to pass author tests ('@' -> $AT)
Martin McGrath (3):
Switch File::Slurp for Path::Tiny
Switch File::Slurp for Path::Tiny
Switch File::Slurp for Path::Tiny
Michael G. Schwern (3):
Perl::Critic::Violation->element_class() is an undocumented private method
Removed the AUTHOR section.
NamingConventions::Capitalization was not making an exception for $\
Michael R. Wolf (2):
Polished up tests for Policy/Editor/RequirEmacsFileVariables.pm
Better diagnostic message form failures in &_load_profile_from_file to
Mike O'Regan (1):
handle '=' and '!=' in is_assignment_operator
Neil Bowers (1):
Reformatted as per CPAN::Changes::Spec
Nick Tonkin (1):
Update README.md
Olaf Alders (3):
Fixes typo.
Fixes typo.
Adds even more strict/warnings importer modules.
Olivier Mengué (6):
Travis-CI: add perl 5.8 and 5.21
::UserProfile: don't import ::Utils ':characters'
POD: fix 2 typos found by Documentation::Spelling
xt/author: enforce en_US for aspell
Travis-CI: run author tests
Travis-CI: IRC notifications
Ricardo Signes (4):
* This checkin demonstrates a bug in RequireInitializationForLocalVars:
Made previous checkin (bug in RequireInitializationForLocalVars) test a TODO,
until is also a control conditional
bugfix for running under PAR, RT #38380
Rub3nCT (1):
Fixed some typos
Salvatore Bonaccorso (1):
Imported Upstream version 1.126
Tom Wyant (152):
Allow escaped (backslashed) backslashes and single quotes, while still forbidding any of the other usual escapes.
Add ansicolors attribute and option to custom-color errors. Note that the name of the option (and the attribute) are still under consideration.
Use words_from_string() rather than split(), and $EMPTY rather than ''.
Annotate need to put constants in P::C::Utils::Constants. Did not actually put them there, pending resolution of single-option versus five-options issue
Configurable colors via color-severity-highest, color-severity-high, and so forth.
Make colour-severity-highest and so forth work. Have P::C::Config accept any color value if Term::ANSIColor is unavailable, for the benefit of P::C::ProfilePrototype, which needs to have the default values regardless, and which now emits the new parameters.
Add -color-severity-5, -colour-severity-5, and so on as aliases for -color-severity-highest and so on. Document same. Make dor() multi-argument.
Add configurable color as a new feature for the current release.
Fix rt 37486: Does not detect interpolations preceded by \\. I think.
Correct spelling: 'Unrestriced' => 'Unrestricted'
rt 38528: RequireInterpolationOfMetachars allow overload.pm deref names. The fix allows '\@{}' and '${}' _only_ in a 'use overload' statement.
29384: RequireLocalizedPunctuationVars or similar should handle {__DIE__}. The fix was to back up over any PPI::Structure::Subscript objects found, and then analyze first non-subscript found. With the change, the policy also flags {}, [], and so on as violations. Configuration item 'exceptions' has been added for those who do not like the extra detected violations. The test was updated to remove the TODO and add tests for the newly-caught items, and the configuration variable. The t [...]
38674: How do you assign future rule exceptions in .perlcriticrc? Tied the handling of unrecognized policy configuration items to profile_strictness. Because the default profile_strictness is 'warn', they are now warnings. Before, they were fatal.Eliminated a test from t/01_config_bad_perlcriticrc.t that assumed unknown policy configuration items were fatal, but forced this behavior in t/14_policy_parameters.t by instantiating the policy factory with '-profile-strictness' => 'fatal'.
RT #38678: ProtectPrivateSubs allow POSIX::_SC_CLK_TCK() and friends. Added 'accept' configuration item, pre-loaded with everything in \@POSIX::EXPORT that begins with an underscore.
RT #34009: RequireArgUnpacking: handle POE parameter passing standard. This commit covers the array slice portion of the report: 'my ($kernel, $heap, $input) = @_[KERNEL, HEAP, ARG0];'.
RT #34009: RequireArgUnpacking: handle POE parameter passing standard. Implement the scalar portion of the request. Tie both this and the array slice portion (svn revision 3105) to new Boolean configuration option 'allow_subscripts', whose default is false.
Have ErrorHandling::RequireCarping allow a here document as the last element of a warn() or die() if allow_messages_ending_with_newlines is true
Add TODO for the usual delegation idioms.
s/always_present_values/list_always_present_values/ in the "string list" documentation.
RT #33839: Always unpack @_ first reported wrong for simple sub. This turned out really do be about delegation. The revised RequireArgUnpacking allow "$object->SUPER::foo(@_)" and "$object->NEXT::foo(@_)". Configuration option 'allow_delegation_to' has been added to allow delegation to other places.
RT #37713: RequireArgUnpacking triggered in grep block. The problem was that the policy was interpreting $$_[] as a use of @_ when it is really an obfuscated equivalent of $_->[]. The fix was to specifically look for '$_' preceded by a '$' cast and followed by a subscript.
Replace uses of string overload with ->content() for the 10% or so speed improvement.
Typo in POD
Implement the TODO item P::C::P::Subroutines::ProhibitUnusedPrivateSubroutines.
Make sub _parse_private_name_regex() the custom parser for the
Make sub _parse_private_name_regex() the parser for parameter
Forgot to add the requisite properties to ProhibitUnusedPrivateSubroutines.pm
In TODO for ValuesAndExpressions::RequireInterpolatedStringyEval, note
Convert Perl::Critic from using Regexp::Parser for regular expression
Replace Regexp::Parser with PPIx::Regexp in t/RegularExpressions/*.run.
Change all instances of L<Foo> in the POD to L<Foo|Foo>. Or at least,
Add Perl::Critic::Policy::Documentation::RequirePODLinksIncludeText, and
Further tweak docs.
Generate the links in the policy summary as L<Foo|Foo> rather than as
Redo on the policy summary generator. This time, choose an
Add named capture support, at least somewhat.
Make P::C::P::RegularExpressions::ProhibitUnusedCapture Handle the case
Add stuff from 5.11 into TODO.pod, to give (I hope) a starting point for
Fix McCabe violation in P::C::P::RegularExpressions::ProhibitUnusedCapture.
Have InputOutput::RequireBriefOpen recognize 'CORE::open' and
RT 52038. The _parse_annotation() method of Perl::Critic::Annotation now
Add an entry to TODO.pod for the problem that in
Review commit log for my commits since r3149 (the last time I touched
Modify MANIFEST.SKIP and the top level directory's svn:ignore to ignore
Modify the annotation parsing so that things like
Add TODO to take advantage of the get_match_string(),
Correct typo in Changes file.
Removed all uses of Perl::Critic::Utils::PPIRegep. Since the replacement
RT 52029: state should be allowed by Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins
RT 52029: state should be allowed by Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins
RT 43309: Subroutines::RequireFinalReturn with given() block
RegularExpressions::ProhibitCaptureWithoutTest now handles when() in the
RT 43291: t/20_policy_pod_spelling - wrong number of tests for Non English - patch included
Take belated credit for the fact that the PPIx::Regexp update appears to
Add stopwords where my copy of aspell wanted them.
RT #54524: False Positive: ValuesAndExpressions::ProhibitMismatchedOperators with 'foo' x 15 . 'bar'
Remove the TODO annotation for the RT 33935 (and RT 49679) test in
Fix test failures in t/01_config.t under Perl 5.11.4.
RT 55604: Variables::ProhibitPunctuationVars gives false-positive on qr// regexp's ending in '$'
RT 55600: ::RequireConstantVersion ($foo = $VERSION) =~ s/// case creates false positive
RT #56627: Too many arguments (sub prototype, false positive)
RT #56619: "die" used instead of "croak" (possibly false positive)
RT #56667: No "$VERSION" variable found (false positive)
RT #56619 redux
Wordsmith my recent Changes updates.
49501 From Debian: RequirePackageMatchesPodName: doesn't use nearest package
Bug #57375 for Perl-Critic: [PATCH] Fix spelling error in the documentation
Updated lib/Perl/Critic/CORE_DEVELOPER.pod to try to document the
Expand list of modules needed for authortest, by actually trying to run
Have policy TestingAndDebugging::RequireUseStrict accept 'use 5.011' or
Tell policy BuiltInFunctions::ProhibitLvalueSubstr not to complain when
RT #57818 - DEVELOPER.pod typo in link to ValuesAndExpressions::ProhibitConstantPragma policy
(Try to) make P::C::P::Subroutines::RequireFinalReturn understand a
Change xt/author/80_policysummary.t to match revision 3847, which
Updated P::C::P::ControlStructures::ProhibitMutatingListFunctions to
Nit-pick the docs in P::C::P::RegularExpressions::RequireDotMatchAnything
RT 59176: "no critic" for pod after __END__
RT #59268: Documentation::RequirePodSections should not complain until the first line of POD
On the mailing list, Andy Lester suggested having the "policy warning
Add new policy InputOutput::RequireEncodingWithUTF8Layer. This complains
RT #60002 - RegularExpressions::ProhibitUnusedCapture does not
Forgot to put the RT number on the ProhibitUnusedCapture fix committed
Added support for @-, @+, and their English equivalents. This only works
#60179: BuiltinFunctions::ProhibitStringyEval dies on eval "#...";
Have RegularExpressions::ProhibitUnusedCapture account for capture
Update inc/Perl/Critic/BuildUtilities.pm to require version 0.010 of
#59065 Suggested policy: prohibit conditional use statements
Added the line number of the offending '=head1 NAME' to the
Have Subroutines::ProhibitUnusedPrivateSubroutines look inside regular
Variables::ProhibitUnusedVariables now looks inside regular expressions
Realized I could simplify the code in commits 3886 and 3888 (both to do
Since PPIx::Regexp is no longer optional, some of the tests that use it
Change the test in t/08_document.t which tests
Added method Perl::Critic::Document->ppix_regexp_from_element(), as a
Make Subroutines::ProhibitManyArgs understand prototype grouping. That
Add '_' to the tr/// that counts arguments in the subroutine prototype,
RT#61071: OptionsProcessor vs perl 5.8.3 Exporter
Move the Changes comment on commit 3919 to the 'Bugs' section (what was
Add stop words to P::C::P::ControlStructures::ProhibitPostfixControls.
RT #61311: Subroutines::ProhibitUnusedPrivateSubroutines dies on
RT #61970 - ValuesAndExpressions::RequireInterpolationOfMetachars
RT #49609: Subroutines::ProhibitAmpersandSigils: improperly interprets
Fix self-compliance with prospective policy
Remove superfluous argument from violation() call in
RT #62562 - ValuesAndExpressions::ProhibitMagicNumbers should be able to
Notes for 5.14 in TODO.pod
RT #63816: installation fails when using lastest version of List::MoreUtils
RT #65322: PPI 1.214_0? breaks Perl::Critic
Commit some of the self-compliance failures found with a more aggressive
RT #65663 RequireConsistentNewlines five-part PPI location
#65569: Documentation::RequirePodLinksIncludeText gives false-positive
RT #66017 (severity description confusing)
RT #65514: RequireLocalizedPunctuationVars caveats no longer apply
RT #64437: InputOutput::RequireBriefOpen false-positive
RT #38942: RegularExpressions::ProhibitUnusedCapture false positive
RT #61301: Bug in policy
RT #64247: bless {} probably contains a hash constructor, not a block
RT #38942: RegularExpressions::ProhibitUnusedCapture false positive
RT #67116 - Crash in RegularExpressions::ProhibitUnusedCapture
RT # 67159: perl 5.12 package NAME VERSION not understood
RT #67231: Perlcritic crashes when evaluating a file
Bump required version of PPIx::Regexp to 0.019, since that is the
RT #67760: RequireLexicalLoopIterators vs perl version
RT #59112: ProhibitLvalueSubstr vs highest_explicit_perl_version
RT #67760: RequireLexicalLoopIterators vs perl version
#68498 for Perl-Critic: Missing 'use version' prevents Red Hat install
Make Subroutines::ProhibitManyArgs aware of '+' as a prototype
Teach ControlStructures::ProhibitMutatingListFunctions that tr///r and
RT #68898: POD markup bug in Perl::Critic::PPI::Utils
RT #69322 - RegularExpressions::ProhibitEnumeratedClasses false positive
RT #69489 - ErrorHandling::RequireCheckingReturnValueOfEval false
I switched aspell versions, and evidently got a less fulsome dictionary.
The Perl::Critic::Violation source() method (and therefore the %r
RT #69867: RegularExpressions::ProhibitUnusedCapture false positive when
RT #72086 - ProhibitUnusedCapture false positive with /e and parens
RT #71093: CodeLayout::ProhibitHardTabs comes from PBP, but is not used
RT #72151: 5.14 re pragma and
RT #70901: Policies missing operators
RT #72910: False-positive of Variables::ProhibitPunctuationVars when {}
RT #72660: Exclude pragmas from Modules::RequireExplicitPackage
Correct the code commited in revision 4098 (allowing loads of specific
Add a separate configuration item, 'allow_perl_version', to
RT #72660: Exclude pragmas from Modules::RequireExplicitPackage
RT #74647: False positive in TestingAndDebugging::ProhibitNoWarnings
RT #74429: 'Negative array index should be used' a little misleading
RT #75397: ProhibitBuiltinHomonyms should include the sub name in the
RT #77510: Left curlys as literals in regexps are deprecated.
Add ActivePerl to the stop words list.
RT #77977: Perl::Tidy 20120619 breaks CodeLayout::RequireTidyCode
The Perl::Critic::Document method
RT #79138: RequireArgUnpacking confused by @_ in finally{}
RT #79289: False Postive in Perl::Critic::Utils::is_in_void_context()
hjkatz (1):
Fixed perltidy complaining about backups with dest and source
zdm (1):
allow brackets in ## no critic annotation
Сергей Романов (1):
Fix a couple of minor typos.
-----------------------------------------------------------------------
No new revisions were added by this update.
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libperl-critic-perl.git
More information about the Pkg-perl-cvs-commits
mailing list