+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
-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
use strict;\r
use XSLoader ();\r
\r
-our $VERSION = '0.02';\r
+our $VERSION = '0.03';\r
\r
XSLoader::load __PACKAGE__, $VERSION;\r
\r
=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
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;
}
# 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
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
#line 1
package Module::Install::Base;
-$VERSION = '0.64';
+$VERSION = '0.65';
# Suspend handler for "redefined" warnings
BEGIN {
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
. "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);
__END__
-#line 334
+#line 338
use Module::Install::Base;
@ISA = qw(Module::Install::Base);
-$VERSION = '0.64';
+$VERSION = '0.65';
use strict;
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{
};
}
+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 !@_;
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
'LGPL' => 'lgpl',
'BSD' => 'bsd',
'Artistic' => 'artistic',
+ 'MIT' => 'MIT',
);
while ( my ( $pattern, $license ) = splice( @phrases, 0, 2 ) ) {
$pattern =~ s{\s+}{\\s+}g;
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}
use vars qw{$VERSION $ISCORE @ISA};
BEGIN {
- $VERSION = '0.64';
+ $VERSION = '0.65';
$ISCORE = 1;
@ISA = qw{Module::Install::Base};
}