Bumping version to 2.000004
[p5sagit/strictures.git] / lib / strictures.pm
index cff36fb..64d4ba2 100644 (file)
@@ -5,20 +5,24 @@ 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.000004';
 $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
+  chmod
   deprecated
   exiting
   experimental
     experimental::autoderef
+    experimental::bitwise
     experimental::const_attr
+    experimental::declared_refs
     experimental::lexical_subs
     experimental::lexical_topic
     experimental::postderef
@@ -72,6 +76,7 @@ our @WARNING_CATEGORIES = grep { exists $warnings::Offsets{$_} } qw(
   taint
   threads
   uninitialized
+  umask
   unpack
   untie
   utf8
@@ -102,7 +107,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}
@@ -196,9 +201,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' ))
       ))
   );
 }
@@ -242,7 +247,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
 
@@ -268,12 +273,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<dist.ini> (which would indicate we are in a C<dzil test> operation, via
-L<Dist::Zilla>) -- or when the C<PERL_STRICTURES_EXTRA> 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<dist.ini> (which would indicate we are in a C<dzil test> operation,
+via L<Dist::Zilla>) -- or when the C<PERL_STRICTURES_EXTRA> environment variable
+is set, in which case it also does the equivalent of
 
   no indirect 'fatal';
   no multidimensional;