]> git.vpit.fr Git - perl/modules/re-engine-Plugin.git/commitdiff
Importing re-engine-Plugin-0.03.tar.gz
authorÆvar Arnfjörð Bjarmason <avar@cpan.org>
Thu, 17 May 2007 23:26:00 +0000 (23:26 +0000)
committerVincent Pit <vince@profvince.com>
Thu, 17 May 2007 23:26:00 +0000 (23:26 +0000)
16 files changed:
ChangeLog
META.yml
Plugin.pm
Plugin.pod
Plugin.xs
inc/Module/Install.pm
inc/Module/Install/AutoInstall.pm
inc/Module/Install/Base.pm
inc/Module/Install/Can.pm
inc/Module/Install/Fetch.pm
inc/Module/Install/Include.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Makefile/Version.pm
inc/Module/Install/Metadata.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm

index 12ce24ff3a51281c226a68c58f943031cc9bc8e7..50a3310c82cf00ebdc29d974ebb1abbc8c4da8de 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-05-17 Ævar Arnfjörð Bjarmason <avar@cpan.org> (0.03)
+       
+       * Plugin.xs: The exec callback would call_sv on a NULL value
+         causing a segfault
+       * Plugin.pod: Use %hash ~~ 'i' instead of $hash{i}, more stylish!
+       * inc: Bumping Module::Install to 0.65
+
 2007-05-17 Ævar Arnfjörð Bjarmason <avar@cpan.org> (0.02)
 
        * Brought up to date with current blead after lots of hacking on
index cf689cbdf07bdcf136946a1733839bb81595a6c4..b3340273cf0bd07f78fed061f8c6e3c16766851d 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,15 +1,19 @@
-abstract: Regular Expression engine API
-author: "\xC3\x86var Arnfj\xC3\xB6r\xC3\xB0 Bjarmason <avar@cpan.org>"
-build_requires: 
+---
+abstract: API to write custom regex engines
+author: 'Ævar Arnfjörð Bjarmason <avar@cpan.org>'
+build_requires:
   Test::More: 0
 distribution_type: module
-generated_by: Module::Install version 0.64
+generated_by: Module::Install version 0.65
 license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.3.html
+  version: 1.3
 name: re-engine-Plugin
-no_index: 
-  directory: 
+no_index:
+  directory:
     - inc
     - t
-requires: 
+requires:
   perl: 5.9.5
-tests: t/*.t
+tests: t/*.t t/*/*.t t/*/*/*.t
index c693c44f2077612cb72cb0669208f521b0a3292c..220dfdfd9b94ebb9fc6340e2b95d15563d98171d 100644 (file)
--- a/Plugin.pm
+++ b/Plugin.pm
@@ -5,7 +5,7 @@ use base 'Regexp';
 use strict;\r
 use XSLoader ();\r
 \r
-our $VERSION = '0.02';\r
+our $VERSION = '0.03';\r
 \r
 XSLoader::load __PACKAGE__, $VERSION;\r
 \r
index d4bb1a246bed672d35878a3dc84e4dd310b9d49d..3ae9882d8bcd5ff26cbd5663f3ccfae1e9e916ab 100644 (file)
@@ -149,7 +149,7 @@ hashrefs, objects, etc.
 =head2 mod
 
     my %mod = $rx->mod;
-    say "has /ix" if $mod{i} and $mod{x};
+    say "has /ix" if %mod ~~ 'i' and %mod ~~ 'x';
 
 A key-value pair list of the modifiers the pattern was compiled with.
 The keys will zero or more of C<imsxp> and the values will be true
index e9d1307a58d92df669fcb66abbecca469f032852..aa95e8b468b67df5274baa60db3107ddb4d3d644 100644 (file)
--- a/Plugin.xs
+++ b/Plugin.xs
@@ -126,32 +126,36 @@ Plugin_exec(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
     SV * callback = get_H_callback("exec");
     GET_SELF_FROM_PPRIVATE(rx->pprivate);
 
-    /* Store the current str for ->str */
-    self->str = (SV*)sv;
-    SvREFCNT_inc(self->str);
+    if (callback) {
+        /* Store the current str for ->str */
+        self->str = (SV*)sv;
+        SvREFCNT_inc(self->str);
 
-    ENTER;
-    SAVETMPS;
+        ENTER;
+        SAVETMPS;
    
-    PUSHMARK(SP);
-    XPUSHs(rx->pprivate);
-    XPUSHs(sv);
-    PUTBACK;
+        PUSHMARK(SP);
+        XPUSHs(rx->pprivate);
+        XPUSHs(sv);
+        PUTBACK;
 
-    call_sv(callback, G_SCALAR);
+        call_sv(callback, G_SCALAR);
  
-    SPAGAIN;
+        SPAGAIN;
 
-    SV * ret = POPs;
+        SV * ret = POPs;
 
-    if (SvTRUE(ret))
-        matched = 1;
-    else
-        matched = 0;
+        if (SvTRUE(ret))
+            matched = 1;
+        else
+            matched = 0;
 
-    PUTBACK;
-    FREETMPS;
-    LEAVE;
+        PUTBACK;
+        FREETMPS;
+        LEAVE;
+    } else {
+        matched = 0;
+    }
 
     return matched;
 }
index 0330b0e1d69cb97b096408e37b27a9ba7e8fb4a7..af6a59c9d0fddf4285a11537d6bcfb4bb7969665 100644 (file)
@@ -28,7 +28,7 @@ BEGIN {
     # This is not enforced yet, but will be some time in the next few
     # releases once we can make sure it won't clash with custom
     # Module::Install extensions.
-    $VERSION = '0.64';
+    $VERSION = '0.65';
 }
 
 # Whether or not inc::Module::Install is actually loaded, the
index f36f564de27e1730856d1b779be770eb299d51a5..b4b55af4440eb1dc8bf735ce7de8fd265ad2c818 100644 (file)
@@ -6,7 +6,7 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
index 30a24caac82abb459e2d9ae8b1ffe96042528261..b46a8ca8ebd0fb3b461f755d51ee7e5e4e76671d 100644 (file)
@@ -1,7 +1,7 @@
 #line 1
 package Module::Install::Base;
 
-$VERSION = '0.64';
+$VERSION = '0.65';
 
 # Suspend handler for "redefined" warnings
 BEGIN {
index 1c01e221f7452e0a04c4963d39dc93451793ccf7..9bcf278a3213fe6783386a9abeed9a8dc8d053f1 100644 (file)
@@ -11,7 +11,7 @@ use ExtUtils::MakeMaker ();
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
index 24c0c0215543eb40a9f4018736b223fe4ca2f3d1..0d2c39c6d27f4562500f6e02bdababfc30b49576 100644 (file)
@@ -6,7 +6,7 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
index f4c83a37ff77c90391481d6b39e3e96f71bfcea2..964b93d61c6b684e49aaee422ad7b7dca1557ed9 100644 (file)
@@ -6,7 +6,7 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
index 96c7e170ad41f24048ae6f6485407e995f913042..eb67033ae8f24fdee22d7425f523388b8cabb85d 100644 (file)
@@ -7,7 +7,7 @@ use ExtUtils::MakeMaker ();
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
@@ -136,9 +136,13 @@ sub write {
                 . "but we need version >= $perl_version";
     }
 
+    $args->{INSTALLDIRS} = $self->installdirs;
+
     my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_})} keys %$args;
-    if ($self->admin->preop) {
-        $args{dist} = $self->admin->preop;
+
+    my $user_preop = delete $args{dist}->{PREOP};
+    if (my $preop = $self->admin->preop($user_preop)) {
+        $args{dist} = $preop;
     }
 
     my $mm = ExtUtils::MakeMaker::WriteMakefile(%args);
@@ -205,4 +209,4 @@ sub postamble {
 
 __END__
 
-#line 334
+#line 338
index d5dc7e0e434621927254b1504fb7c998cd14b876..349afc01639495ce51d1d350419cfec9f97a31cd 100644 (file)
@@ -4,7 +4,7 @@ package Module::Install::Makefile::Version;
 use Module::Install::Base;
 @ISA = qw(Module::Install::Base);
 
-$VERSION = '0.64';
+$VERSION = '0.65';
 
 use strict;
 
index 6c80832b6f3a2a90a301f971b7f78846592250ac..b5658c9fdd983185f315c6f96af267345d322b12 100644 (file)
@@ -6,14 +6,14 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
 
 my @scalar_keys = qw{
     name module_name abstract author version license
-    distribution_type perl_version tests
+    distribution_type perl_version tests installdirs
 };
 
 my @tuple_keys = qw{
@@ -56,6 +56,11 @@ foreach my $key (@tuple_keys) {
     };
 }
 
+sub install_as_core   { $_[0]->installdirs('perl')   }
+sub install_as_cpan   { $_[0]->installdirs('site')   }
+sub install_as_site   { $_[0]->installdirs('site')   }
+sub install_as_vendor { $_[0]->installdirs('vendor') }
+
 sub sign {
     my $self = shift;
     return $self->{'values'}{'sign'} if defined wantarray and !@_;
@@ -279,9 +284,11 @@ sub license_from {
 
     if (
         $self->_slurp($file) =~ m/
-        =head \d \s+
-        (?:licen[cs]e|licensing|copyright|legal)\b
-        (.*?)
+        (
+            =head \d \s+
+            (?:licen[cs]e|licensing|copyright|legal)\b
+            .*?
+        )
         (=head\\d.*|=cut.*|)
         \z
     /ixms
@@ -298,6 +305,7 @@ sub license_from {
             'LGPL'                                            => 'lgpl',
             'BSD'                                             => 'bsd',
             'Artistic'                                        => 'artistic',
+            'MIT'                                             => 'MIT',
         );
         while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
             $pattern =~ s{\s+}{\\s+}g;
index 2ec7d66164a5350f4b43bf0730c83549e93952ed..42cb653a1e5a332f75bcd88ea61f15294fb50a03 100644 (file)
@@ -6,7 +6,7 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
index 3546e611facce7463a4ec88aeb184674591faefd..d0908fb6eba87294feb0b918dd99a893f3b5898e 100644 (file)
@@ -6,7 +6,7 @@ use Module::Install::Base;
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '0.64';
+       $VERSION = '0.65';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }