X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fstrictures.pm;h=79ffcc011465b815308f40b07c3aac5a0e71063b;hb=da50db3f44b8220b3184875b17104e565b42cd3d;hp=5ccfb43e44c203674ef10090e6b77223d1119c69;hpb=95d54bcbbced40f09be83247417a231192c4d46a;p=p5sagit%2Fstrictures.git diff --git a/lib/strictures.pm b/lib/strictures.pm index 5ccfb43..79ffcc0 100644 --- a/lib/strictures.pm +++ b/lib/strictures.pm @@ -5,12 +5,13 @@ use warnings FATAL => 'all'; BEGIN { *_PERL_LT_5_8_4 = ($] < 5.008004) ? sub(){1} : sub(){0}; - *_CAN_GOTO_VERSION = ($] >= 5.008000) ? sub(){1} : sub(){0}; + # goto &UNIVERSAL::VERSION usually works on 5.8, but fails on some ARM + # machines. Seems to always work on 5.10 though. + *_CAN_GOTO_VERSION = ($] >= 5.010000) ? sub(){1} : sub(){0}; } -our $VERSION = '1.999_001'; +our $VERSION = '2.000001'; $VERSION = eval $VERSION; -$VERSION = 2; # a bit of a cheat, but requesting v2 needs to be possible our @WARNING_CATEGORIES = grep { exists $warnings::Offsets{$_} } qw( closure @@ -19,6 +20,7 @@ our @WARNING_CATEGORIES = grep { exists $warnings::Offsets{$_} } qw( exiting experimental experimental::autoderef + experimental::bitwise experimental::const_attr experimental::lexical_subs experimental::lexical_topic @@ -104,7 +106,7 @@ our $Smells_Like_VCS; sub import { my $class = shift; - my %opts = ref $_[0] ? %{$_[0]} : @_; + my %opts = @_ == 1 ? %{$_[0]} : @_; if (!exists $opts{version}) { $opts{version} = exists $^H{strictures_enable} ? delete $^H{strictures_enable} @@ -198,9 +200,9 @@ sub _want_extra { and $file =~ /^(?:t|xt|lib|blib)[\\\/]/ and defined $Smells_Like_VCS ? $Smells_Like_VCS : ( $Smells_Like_VCS = !!( - -e '.git' || -e '.svn' || -e '.hg' + -e '.git' || -e '.svn' || -e '.hg' || -e '.bzr' || (-e '../../dist.ini' - && (-e '../../.git' || -e '../../.svn' || -e '../../.hg' )) + && (-e '../../.git' || -e '../../.svn' || -e '../../.hg' || -e '../../.bzr' )) )) ); } @@ -244,7 +246,7 @@ EOE __END__ =head1 NAME -strictures - turn on strict and make all warnings fatal +strictures - turn on strict and make most warnings fatal =head1 SYNOPSIS @@ -270,12 +272,12 @@ except when called from a file which matches: (caller)[1] =~ /^(?:t|xt|lib|blib)[\\\/]/ -and when either C<.git>, C<.svn>, or C<.hg> is present in the current directory -(with the intention of only forcing extra tests on the author side) -- or when -C<.git>, C<.svn>, or C<.hg> is present two directories up along with -C (which would indicate we are in a C operation, via -L) -- or when the C environment variable is -set, in which case it also does the equivalent of +and when either C<.git>, C<.svn>, C<.hg>, or C<.bzr> is present in the current +directory (with the intention of only forcing extra tests on the author side) +-- or when C<.git>, C<.svn>, C<.hg>, or C<.bzr> is present two directories up +along with C (which would indicate we are in a C operation, +via L) -- or when the C environment variable +is set, in which case it also does the equivalent of no indirect 'fatal'; no multidimensional;